2009-07-18 3 views
5

Ich versuche, Subversion mit Apache-Unterstützung zu installieren. Ich installierte apr, apr-utils, neon und OpenSSL mit dem --enable-shared Flag. Allerdings bekomme ich folgende Fehlermeldung, wenn Subversion zu installieren versuchen:Umzug R_X86_64_32 gegen ein lokales Symbol 'Fehler

/usr/bin/ld: /usr0/software/openssl/ossl/lib/libssl.a(s23_clnt.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC 
/usr0/software/openssl/ossl/lib/libssl.a: could not read symbols: Bad value 
collect2: ld returned 1 exit status 
make[1]: *** [libserf-0.la] Error 1 
make[1]: Leaving directory `/usr0/sources/svn/subversion-1.6.3/serf' 
make: *** [external-all] Error 1 

Auf der Subversion FAQ wird festgestellt, dass, wenn ich diesen Fehler bekommen, soll ich die --enable-shared Flags verwenden und es sollte funktionieren. Das hilft jedoch nicht. Irgendwelche Ideen, wie man das umgehen kann?

+0

könnte eine gute Idee sein, dies in serverfault.com auch fragen (und eine Verbindung zwischen ihnen hinzufügen) –

Antwort

5

Ich fand heraus, dass das Problem mit der OpenSSL-Installation war. Erneutes Installieren von openssl mit enable-shared funktioniert.

+1

nur in dieser lief auch /usr/bin/ld:/root/installiert/lib/libssl .a (s23_clnt.o): Umzug R_X86_64_32 gegen 'ein lokales Symbol 'kann nicht verwendet werden, wenn ein gemeinsames Objekt erstellt wird; kompilieren mit -fPIC /root/installs/lib/libssl.a: konnte keine Symbole lesen: Ungültiger Wert $ ./config shared dies behoben es danke! – rogerdpack

+0

Ich habe auch das gleiche Problem, was meinst du mit saing "Neuinstallation von openssl mit enable-shared works"? Kannst du erklären? Vielen Dank! – RRR

+0

@RRR, beim Konfigurieren von openssl: './config shared' – g4ur4v

0

Ich habe in einigen anderen Nicht-openssl-Szenarien auf dieses Problem gestoßen, und ich habe festgestellt, dass dies im Allgemeinen damit zusammenhängt, dass keine freigegebenen Bibliotheken aktiviert sind.

Hinzufügen von --enable-shared zu Ihrer configure-Linie scheint es zu beheben.

0

Ich löse es mit dem Hinzufügen versteckter Attribut zu OPENSSL_ia32cap_P in crypto \ cryptolib.h und neu kompilieren.

extern unsigned int OPENSSL_ia32cap_P[] __attribute__ ((visibility ("hidden")));