PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kompilieren von Subversion-1.3.1



balduin
29.05.06, 16:50
Hi,

ich habe Probleme, Subversion-1.3.1 aus den Quellcodes heraus zu kompilieren. Das configure-Skript wird problemlos ausgeführt, doch kurze Zeit nach dem Aufruf von make erhalte ich eine Fehlermeldung, die ich leider nicht nachvollziehen kann. Wäre daher super, wenn mir jemand unter die Arme greifen könnte. Offenbar tritt der Fehler im Unterordner apr-util auf. Allerdings steht in der INSTALL-Datei bezüglich der Apache Portable Runtime:
These are included in Subversion source tarball releases - if you are building from a source tarball, and wish to use the included versions, you may skip ahead to the next requirement. und daher bin ich nun noch mehr verunsichert darüber, wo der Fehler herkommt.

Unten befindet sich die Ausgabe, die ich beim Kompilieren erhalte.

Vielen Dank im Voraus
balduin



sh-2.05b# ./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.4
[..]
sh-2.05b# make
[...]
Making all in ldap
make[2]: Entering directory `/root/svn_1.3.1/apr-util/ldap'
make[3]: Entering directory `/root/svn_1.3.1/apr-util/ldap'
/bin/sh /root/svn_1.3.1/apr/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -I/root/svn_1.3.1/apr-util/include -I/root/svn_1.3.1/apr-util/include/private -I/root/svn_1.3.1/apr/include -I/usr/local/BerkeleyDB.4.4//include -I/root/svn_1.3.1/apr-util/xml/expat/lib -c apr_ldap_compat.c && touch apr_ldap_compat.lo
/bin/sh /root/svn_1.3.1/apr/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -I/root/svn_1.3.1/apr-util/include -I/root/svn_1.3.1/apr-util/include/private -I/root/svn_1.3.1/apr/include -I/usr/local/BerkeleyDB.4.4//include -I/root/svn_1.3.1/apr-util/xml/expat/lib -c apr_ldap_url.c && touch apr_ldap_url.lo
make[3]: Leaving directory `/root/svn_1.3.1/apr-util/ldap'
make[2]: Leaving directory `/root/svn_1.3.1/apr-util/ldap'
Making all in uri
make[2]: Entering directory `/root/svn_1.3.1/apr-util/uri'
make[3]: Entering directory `/root/svn_1.3.1/apr-util/uri'
/bin/sh /root/svn_1.3.1/apr/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -I/root/svn_1.3.1/apr-util/include -I/root/svn_1.3.1/apr-util/include/private -I/root/svn_1.3.1/apr/include -I/usr/local/BerkeleyDB.4.4//include -I/root/svn_1.3.1/apr-util/xml/expat/lib -I. -c gen_uri_delims.c && touch gen_uri_delims.lo
/bin/sh /root/svn_1.3.1/apr/libtool --silent --mode=link gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -I/root/svn_1.3.1/apr-util/include -I/root/svn_1.3.1/apr-util/include/private -I/root/svn_1.3.1/apr/include -I/usr/local/BerkeleyDB.4.4//include -I/root/svn_1.3.1/apr-util/xml/expat/lib -I. -version-info 9:7:9 -o gen_uri_delims gen_uri_delims.lo -lrt -lm -lcrypt -lnsl -lpthread -ldl
libtool: link: warning: `-version-info' is ignored for programs
/usr/lib/libc_nonshared.a(elf-init.oS)(.gnu.linkonce.t.__i686.get_pc_thunk.bx+0x 0): In function `__i686.get_pc_thunk.bx':
: multiple definition of `__i686.get_pc_thunk.bx'
.libs/gen_uri_delims.o(.gnu.linkonce.t.__i686.get_pc_thu nk.bx+0x0):/root/svn_1.3.1/apr-util/uri/gen_uri_delims.c:24: first defined here
collect2: ld returned 1 exit status
make[3]: *** [gen_uri_delims] Fehler 1
make[3]: Leaving directory `/root/svn_1.3.1/apr-util/uri'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/root/svn_1.3.1/apr-util/uri'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/root/svn_1.3.1/apr-util'
make: *** [external-all] Fehler 1


EDIT: Entschuldigt bitte den bescheuerten Thread-Titel. Den hatte ich eingegeben, als ich das erste Mal auf den Vorschau-Knopf gedrückt habe. Lässt sich von mir leider nicht mehr ändern :( Hoffe, ein Mod kann sich mal kurz der Sache annehmen.

Tomek
29.05.06, 17:21
Titel geändert und Thema verschoben. :)

xanlosch
30.05.06, 08:05
balduin hast du APR bzw. die Entwicklerpakete von APR installiert oder nicht ?

Ich bin bei mir nach der Anleitung des BLFS-Projektes (http://www.linuxfromscratch.org/blfs/view/svn/basicnet/subversion.html) vorgegangen und es funktionierte. Es gibt dort auch einen Hinweis auf die Berkeley DB in der Version 4.4.

balduin
30.05.06, 19:34
Hi,

ich hatte weder APR noch die Entwicklerpakete von APR installiert. Da die Quellen ja im Tarball enthalten waren dachte ich, dass das nicht notwendig sei.

Jedenfalls hab ich nun mal versucht apr und apr-util aus dem Subversion-Verzeichnis heraus zu kompilieren. apr ist nun installiert. Aber bei dem Versucht apr-util mittels ./configure --with-apr=/usr/local/apr/ zu kompilieren kommt der Fehler, der im Startpost zu finden ist.

Danke,
balduin

xanlosch
01.06.06, 08:01
Du hat aber auch /usr/local/apr/lib in die /etc/ld.so.conf hinzugefügt und als root ein ldconfig ausgeführt ?

Ausserdem steht auf der Seite des BLFS-Projektes, wenn man schon die eigenen APR-Daten nutzt, dass man auch mehr Parameter anhängen muss.

Das du immer einen neuen Versuch aus einem frisch entpackten Quellarchiv gemachst hast bzw. wenigstens ein make clean / make distclean, versteht sich von selbst, da ja sonst einige Sachen nicht neu übersetzt werden und der selbe Fehler bestehen bleiben kann.

balduin
02.06.06, 00:14
Ja, ldconfig habe ich ausgeführt. Genau so wie make (dist)clean. Aber es tut sich leider nichts. Wobei ./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr sogar folgendes ausgibt:


checking for APR... yes
checking APR version... 0.9.7
configure: Apache Portable Runtime Utility (APRUTIL) library configuration
checking for APR-util... yes
checking APR-UTIL version... 0.9.7

Aber der Fehler beim Ausführen von make bleibt.

xanlosch
02.06.06, 05:22
Da muss was bei dir nicht stimmen.

Sobald ich bei mir Subversion 1.3.1 mit den Parametern --with-apr und --with-apr-util übersetze, dann wird das Unterverzeichnis apr-util des Subversion Quellbaums nicht angerührt.

Deine Fehlermeldung deutet nämlich darauf hin, dass das Symbol __i686.get_pc_thunk.bx doppelt oder noch öfters vorhanden ist. Beim Linken wird versucht, dass ein jedes benötigtes Symbol genau einmal vorhanden ist. In irgendeiner der Bibliotheken, die beim Linken bei dir genutzt werden, ist dieses Symbol vorhanden und zusätzlich noch in einer weiteren.

APR hast du aber nicht noch durch deinen Paketmanager installiert ? Nicht, dass du dies jetzt doppelt installiert hast und es deswegen zu den Problemen kommt.

Wie ich sehe, nutzt du ja Gentoo - warum nimmst du nicht einfach die Subversion, die dir Gentoo liefert ? Wenn die zu alt ist, dann würde ich eher an deiner Stelle mich mit den ebuilds beschäftigten. Es kann sein, dass man bei Subversion und Gentoo noch Gentoo-spezifische Patches braucht.