编译时报错rootminiconda3compiler_compatld
报错描述
在执行make安装编译时报错
/root/miniconda3/compiler_compat/ld: cannot find -lpbc: No such file or directory
解决方法
这个是由于conda环境自带有编译库,你安装的库可能没有
方法 1:退出 Conda 环境
conda deactivate # 确保编译时不在 Conda 环境中
退出 Conda 环境后,编译工具链会直接使用系统的 ld
和库路径。
方法 2:手动指定链接器路径
在编译命令中强制使用系统链接器(覆盖 Conda 的默认设置):
# 示例:在编译时指定系统 ld
gcc ... -B/usr/bin ...
或直接调用系统链接器:
/usr/bin/ld ...
方法 3:临时移除 Conda 的干扰
重命名或删除 compiler_compat
目录(需谨慎操作):
mv /root/miniconda3/compiler_compat /root/miniconda3/compiler_compat.bak
操作后重新编译,但可能影响 Conda 环境内其他包的编译行为。
验证当前使用的 ld
检查编译时实际调用的 ld
路径:
# 查看编译过程中使用的 ld 路径
gcc -v ... 2>&1 | grep COLLECT_LTO_WRAPPER