[SVN] Berkeley build mist libdb42s.lib

Pagina: 1
Acties:

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
Hey!

Ik ben bezig svn te installeren. Omdat ik Apache (2.0.49) zelf build kan ik subversion-server-1.0.0-6.i586.rpm niet installeren, aangezien die Apache2 niet kan vinden. subversion-1.0.0-6.i586.rpm heb ik al met rpm geinstalleerd en dat werkt al. Alleen dus mod_dav_svn niet... kan ik ook nergens "los" op internet vinden.

Dus dacht ik prima, build ik svn zelf wel. 8) Dus nieuwste versie (1.0.2) gedownload en builden maar.

Daarvoor moet je echter de Berkeley db libraries hebben. In de INSTALL notes van svn raden ze aan de nieuwste versie te gebruiken. Prima. Ik dus gedownload en gebuild. Geen probleem.

Als ik nu svn's ./configure aanroep, kan die de berkeley lib niet vinden. Dus build hij alleen de client, niet de server.

Hmmkay, de subversion FAQ heeft een vraag over dit probleem (vraag 44). Je moet een patch installeren zodat apr-util de nieuwe berkeley dbase kan vinden. Heb ik gedaan, en toch kan het apache ./configure script (svn configure wil na de patch helemaal niet meer werken) Berkeley niet vinden. Dit is de output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
./configure --enable-dav --enable-so --with-berkeley-db=/usr/local/BerkeleyDB.4.2 --with-dbm=db42
[..]
checking checking for Berkeley DB 4.2 in /usr/local/BerkeleyDB.4.2...
checking db4/db.h usability... no
checking db4/db.h presence... no
checking for db4/db.h... no
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for db-4.2... no
checking db4/db.h usability... no
checking db4/db.h presence... no
checking for db4/db.h... no
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for db4... no
checking db4/db.h usability... no
checking db4/db.h presence... no
checking for db4/db.h... no
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for db... no
configure: error: Berkeley db4 not found
configure failed for srclib/apr-util



In de svn ./configure --help notes staat dat als je de --with-berkeley-db optie wilt gebruiken, je eerst apr-util moet vertellen waar die de libs kan vinden (raar, maar goed). En dat doe je zo:
code:
1
2
3
4
5
perl w32locatedb.pl <type> <incdir> <libdir>
# DUS:
perl w32locatedb.pl lib /usr/local/BerkeleyDB.4.2/include/ /usr/local/BerkeleyDB.4.2/lib/
Using BDB version 4.2.52
No 'libdb42s.lib' in /usr/local/BerkeleyDB.4.2/lib/ at w32locatedb.pl line 41.
Regel 4 geeft aan dat hij de juiste versie nummer uit db.h kon halen. Regel 5 "klopt" ook wel, in de /lib dir van Berkeley staan alleen .a en .so files, geen .lib files...


Iemand met hetzelfde probleem of een (totaal andere) oplossing?

//edit: Flatgenoot kwam met het idee van mijn Apache2 build een rpm te maken zodat de svn rpm Apache2 kan vinden. Heb ff op google gezocht wat je moet doen om je eigen rpm te maken... WOAH! Das ff te veel werk. :X

[ Voor 12% gewijzigd door JayVee op 15-05-2004 15:36 ]

ASCII stupid question, get a stupid ANSI!


Verwijderd

Ik heb dit probleem zelf ook gehad, ben er een hele dag mee bezig geweest :(
Als ik thuis ben zal ik even kijken hoe ik het opgelost heb.

edit:

Spelvoutuh

[ Voor 11% gewijzigd door Verwijderd op 16-05-2004 11:52 ]


Verwijderd

De flag: "--with-dbm=db42" wil nog wellis voor problemen zorgen. Ik had aan "with-berkeley-db=/usr/local/BerkeleyDB.4.2" genoeg. Maar zodra ik de "--with-dbm=db42" flag gebruikte ging het bij mij fout.

Als je nog een bugtracker zoekt met svn integratie: http://www.edgewall.com/products/trac/ is een hele goede.

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
Bedankt voor de tip. Het werkt alleen nog steeds niet. Ik kan eens proberen de nieuwste versie van apr-util te downloaden. In de FAQ van subversion staat dat die het wel automatisch moet herkennen. (maar ook dat het met de patch moet werken... en die heb ik toch echt geinstalleerd)
//edit
Leuk is dat. Heb de laatste releases van apr en apr-util gedowned, werken niet samen, en de latest snapshots ook niet.

Ik zag ook dat in de Apache2 src dir een spec file staat. Dat is al heel wat om er een rpm van te maken. Misschien dat ik dat ook nog kan proberen.
//edit
code:
1
2
3
4
5
6
7
asystance:/usr/src/httpd-2.0.49 # rpmbuild -bb httpd-2.0.49.spec
error: Failed build dependencies:
        openldap-devel is needed by httpd-2.0.49-1
        db3-devel is needed by httpd-2.0.49-1
        expat-devel is needed by httpd-2.0.49-1
        pkgconfig is needed by httpd-2.0.49-1
        openssl-devel is needed by httpd-2.0.49-1
Laat maar!


thx voor trac trouwens, zal ik eens naar kijken!

[ Voor 45% gewijzigd door JayVee op 16-05-2004 15:07 ]

ASCII stupid question, get a stupid ANSI!


  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

Ik heb ook problemen gehad met het vinden van die berkleydb.
De truc die ik uithaalde was de directory aan mijn LD_LIBRARY_PATH
toe te voegen. Dit was met versie 1.0.1.

Skill is when luck becomes a habit.


  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
Denk niet dat dat nuttig is. Ik geef al aan waar de libs te vinden zijn. En dit krijg ik in (inmiddels) als ik configure aanroep:
code:
1
2
3
4
5
6
7
checking for dbopen in -ldb1... yes
  setting APRUTIL_INCLUDES to "-I/usr/local/BerkeleyDB.4.2/include"
  setting APRUTIL_LDFLAGS to "-L/usr/local/BerkeleyDB.4.2/lib"
checking for Berkeley DB... found db1
checking for default DBM... sdbm (default)
  setting APRUTIL_EXPORT_LIBS to "-ldb1"
  setting APRUTIL_LIBS to "-ldb1"


Wil het wel proberen hoor. Maar hoe moet ik het instellen? De compiler moet een -L meekrijgen. In de ./configure --help staat dat de LDFLAGS environment variable belangrijk is hiervoor. Maar hoe stel ik die in? Op dit moment is die volgens mij leeg:
echo $LDFLAGS geeft een lege regel...

[ Voor 42% gewijzigd door JayVee op 16-05-2004 23:02 ]

ASCII stupid question, get a stupid ANSI!


Verwijderd

Ik had echt precies hetzelfde probleem, hij pakt dus db1 ipv db4. Op een gegeven moment werd ik het zo zat dat ik alle db1 dingen uit me /lib tijdelijk naar me ~/ heb verplaatst. Vervolgens ldconfig gerunned en het werkte.

Ja ja, ik weet het, geen goede/mooie oplossing :).

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
Nope, ook dit trucje mocht niet baten! :|

Ik wordt het langzaam wel zat. Hoe kan dat nou? Je download de nieuwste versie (zelfs die die wordt aangeraden!) en vervolgens kan hij het gewoon niet vinden. :(

Had ik Berkeley misschien anders moeten builden? Ik heb het gewoon via hun FAQ gedaan.
code:
1
2
3
cd build_unix
../dist/configure
make && make install

Ik begrijp ook niet wat hij niet kan vinden en waarom hij stappen herhaalt:
code:
1
2
3
4
5
6
7
8
9
10
11
checking checking for Berkeley DB 4.2 in /usr/local/BerkeleyDB.4.2...
checking db4/db.h usability... no
checking db4/db.h presence... no
checking for db4/db.h... no
checking db.h usability... yes      <<
checking db.h presence... yes        << GEVONDEN TOCH?
checking for db.h... yes              <<
checking for db-4.2... no
[...] grotendeels herhaling [...]
configure: error: Berkeley db4 not found
configure failed for srclib/apr-util

ASCII stupid question, get a stupid ANSI!


Verwijderd

JayVee schreef op 17 mei 2004 @ 12:37:

Ik wordt het langzaam wel zat. Hoe kan dat nou? Je download de nieuwste versie (zelfs die die wordt aangeraden!) en vervolgens kan hij het gewoon niet vinden. :(
Dat gevoel ken ik helaas wel met subversion. Het installen van Trac is ook een nightmare. En die grapjes met bdb zijn ook niet echt fun. Wat gebeurt er als je bdb4.2 installed in /lib ofzo? En met ldd kijkt welke files nog van bdb1 zijn en er voor zorgt dat er geen trace meer van 1.0 of andere ouwe versie meer over blijft.

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
YES! Ik heb maar eens gegoogled op "2.0.49 subversion" en kwam deze duitse tutorial tegen. Daar staan een paar dingen in die ik tot nu toe nog niet gedaan had:

• de twee patches voor db-4.5.52 installeren (kan het echt niet zijn...)
• in de db-4.2.52/build_unix eens "make clean" doen. (kan het ook niet zijn)
• Berkeley path toevoegen in /etc/ld.co.conf en ldconfig runnen (maar ik gebruik toch --with-berkeley-db ?)
• en in /usr/lib "ln -s /usr/local/lib/BerkeleyDB.4.2/lib/libdb-4.2.so libdb-4.2.so"

En ja hoor:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
checking for Berkeley DB 4.0 in /usr/local/BerkeleyDB.4.2...
checking db4/db.h usability... no
checking db4/db.h presence... no
checking for db4/db.h... no
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for -ldb-4.0... no
checking db4/db.h usability... no
checking db4/db.h presence... no
checking for db4/db.h... no
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for -ldb4... no
checking db4/db.h usability... no
checking db4/db.h presence... no
checking for db4/db.h... no
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for -ldb... yes
  setting APRUTIL_INCLUDES to "-I/usr/local/BerkeleyDB.4.2/include"
  setting APRUTIL_LDFLAGS to "-L/usr/local/BerkeleyDB.4.2/lib"
checking for default DBM... db4      *** DAT IS HEM ***
  setting APRUTIL_EXPORT_LIBS to "-ldb"
  setting APRUTIL_LIBS to "-ldb"


code:
1
2
ldd /usr/share/apache2/bin/httpd |grep libdb
    libdb-4.2.so => /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so (0x40030000)


Iemand een idee welke stap nou doorslaggevend was? Ik neem aan de derde. Misschien is het wel triviaal en weet deze linux n00b gewoon nog niet dat dat altijd moet... :X

[ Voor 12% gewijzigd door JayVee op 17-05-2004 22:36 ]

ASCII stupid question, get a stupid ANSI!

Pagina: 1