Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

relocation R_X86_64_32 against a local symbol' error

Tags:

openssl

svn

I am trying to install Subversion with Apache support. I installed apr, apr-utils, neon, and OpenSSL with the --enable-shared flag. However, I get the following error when trying to install subversion:

/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

On the Subversion FAQ it is stated that if I get this error, I should use the --enable-shared flag and it should work. However, that doesn't help. Any ideas on how to get around this?

like image 978
user10 Avatar asked Jul 18 '09 16:07

user10


2 Answers

I figured out that the problem was with the openssl install. Reinstalling openssl with enable-shared worked.

like image 109
user10 Avatar answered Oct 13 '22 19:10

user10


I solve it with adding hidden attribute to OPENSSL_ia32cap_P in crypto\cryptolib.h and recompile.

extern unsigned int OPENSSL_ia32cap_P[] __attribute__ ((visibility ("hidden")));
like image 30
antoxar Avatar answered Oct 13 '22 20:10

antoxar