当前位置:   article > 正文

relocation R_X86_64_32 against `.rodata.str1.8‘ can not be used when making a shared object; recompi_relocation r_x86_64_32 against `.rodata.str1.8' ca

relocation r_x86_64_32 against `.rodata.str1.8' can not be used when making

原问题:

/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
  • 1
  • 2
  • 3

现在,你可以在你的/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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/224459
推荐阅读
相关标签
  

闽ICP备14008679号