2009-07-18 7 views
5

J'essaye d'installer Subversion avec le support d'Apache. J'ai installé apr, apr-utils, neon et OpenSSL avec le drapeau --enable-shared. Cependant, je reçois l'erreur suivante lorsque vous essayez d'installer la subversion:relocalisation R_X86_64_32 contre une erreur de symbole local

/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 

Sur la FAQ Subversion il est dit que si je reçois cette erreur, je dois utiliser le drapeau --enable-shared et il devrait fonctionner. Cependant, cela n'aide pas. Des idées sur la façon de contourner cela?

+0

pourrait être une bonne idée de demander cela aussi dans serverfault.com (et ajouter un lien entre eux) –

Répondre

5

J'ai compris que le problème était avec l'installation d'openssl. Réinstallation de openssl avec enable-shared travaillé.

+1

Je viens de croiser cela aussi /usr/bin/ld:/root/installs/lib/libssl .a (s23_clnt.o): la relocalisation R_X86_64_32 contre 'un symbole local 'ne peut pas être utilisée lors de la création d'un objet partagé; recompiler avec -fPIC /root/installs/lib/libssl.a: impossible de lire les symboles: Mauvaise valeur $ ./config partagé cela a été corrigé! – rogerdpack

+0

J'ai aussi le même problème, que voulez-vous dire par saing "Réinstallation de openssl avec enable-shared travaillé"? Pouvez-vous expliquer? Merci! – RRR

+0

@RRR, lors de la configuration d'openssl, exécutez: './config shared' – g4ur4v

0

J'ai rencontré cela dans quelques autres scénarios non-openssl, et j'ai constaté que cela est généralement lié au fait que les bibliothèques partagées ne sont pas activées. Ajouter --enable-shared à votre ligne de configuration semble résoudre le problème.

0

Je le résous en ajoutant l'attribut caché à OPENSSL_ia32cap_P dans crypto \ cryptolib.h et recompile.

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