gpt4 book ai didi

python - 创建共享对象时,不能使用针对符号 `_PyRuntime' 的重定位 R_X86_64_PC32;使用 -fPIC 重新编译

转载 作者:行者123 更新时间:2023-12-02 02:36:26 26 4
gpt4 key购买 nike

在 64 位计算机上使用 Python3.7 构建库时出现以下链接错误。

 /usr/bin/ld: /usr/local/lib/libpython3.7m.a(ceval.o): relocation R_X86_64_PC32 against symbol `_PyRuntime' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status

在同一台机器上,如果我安装 miniconda https://docs.conda.io/en/latest/miniconda.html [Py 3.8 for 64bit],该库在该 conda 环境中安装良好,没有任何错误。

我尝试通过添加构建 Py3.7

export CFLAGS="$CFLAGS -fPIC"

但是,对于 python3.7,错误仍然存​​在

最佳答案

选项 1

使用--enable-shared构建/编译Python

选项 2

错误建议使用-fPIC所以可以选择

CFLAGS=-fPIC

在 make install 或[等效的构建步骤]中

两者都应该有效。

关于python - 创建共享对象时,不能使用针对符号 `_PyRuntime' 的重定位 R_X86_64_PC32;使用 -fPIC 重新编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64255633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com