|If you get the following error during a libxml compile with a 64-bit system:|
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/libm.a(s_floor.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
In this case, the solution is to set libxml to not use fPIC or shared libraries.
Edit the build script. In the doLibxml2 section, find the line:
./configure --prefix=/usr/local --without-pythonand change it to:
./configure --prefix=/usr/local --without-python --disable-shared --without-picSave/exit.
./build libxmland that should compile libxml for you.
Note: That after further work on this issue, I was able to prevent the error, without needing the above items. The fix basically included a full reinstall of all of the dev, gcc, build-esssentials type items using dpkg and the apt-get program. I'm not sure if it was related, but I also did a
aptitude remove libc6-dev libsasl2-dev libstdc++6-4.1-dev zlib1g-dev g++-4.1 build-essential libssl-dev libcurl4-openssl-dev comerr-dev gcc libkrb5-dev libc-dev libstdc++6-4.3-dev g++-4.3and
apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev build-essential
|Curl Compile Error: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC|
© 2003 JBMC Software, Suite 173 3-11 Bellerose Drive, St Albert, AB T8N 1P7 Canada. Mon-Fri 9AM-5PM MST