LibXML Compile Error: relocation R_X86_64_32 against `a local symbol‘ can not be used when making a

LibXML Compile Error: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPICLast Modified: Mar 4, 2011, 11:39 pm
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
/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/libm.a: could not read symbols: Bad value
collect2: ld returned 1 exit status

It means the configure needs to be changed. Usually, for an -fPIC error like this, the best way is to recompile the source library to resolve the issue, then recompile libxml the same way. However, in this case, the cause is libml.a, which is part of the OS distribution, so it's better to avoid that, and make everything with the inverse instead.

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-python

and change it to:

./configure --prefix=/usr/local --without-python --disable-shared --without-pic

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值