编译时报错rootminiconda3compiler_compatld


编译时报错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

文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
评论
  目录