relocation R_X86_64_32 against `.rodata.str1.8‘ can not be used when making a shared object; recompi

原问题:

/usr/local/lib/libpython3.7m.a(call.o): relocation R_X86_64_32 against `.rodata.str1.8’ can not be used when making a shared object; recompile with -fPIC

大意就是目前这个python3.7的库是个静态库,不是所需要的动态库,需要重新编译一遍python

解决方法

首先cd到你的python3.7的解压文件夹下,也就是你安装包的文件夹

然后配置并编译

$ ./configure --prefix=/usr/local/  --enable-shared CFLAGS=-fPIC
$ make clean
$ make && sudo make install

现在,你可以在你的/usr/local/lib目录下找到新的动态库了(libpython3.7m.so),它就是所需要的

然后将地址/usr/local/lib添加到链接目录即可

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/lib/x86_64-linux-gnu
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值