如何为anaconda配置动态链接库——ERROR: compiler_compat/ld: cannot find
  z67waqH4oRtg 2023年11月05日 59 0

现在为python编译lib库的环境主要是使用anaconda,而之前往往都是使用自编译python环境,然后使用Linux的系统lib环境,但是现在由于都是使用anaconda环境来编译python的扩展lib库,那么也就出现了为anaconda设置动态链接库这个问题了。

 

我们为Linux系统环境设置动态链接库地址的方式主要有:

方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径;
方法二:通过环境变量LD_LIBRARY_PATH指定动态库搜索路径

 

但是这两种方式设置的动态链接库并不适用于anaconda环境,anaconda环境自己本身就有自己的动态链接库的链接器,一般为:
anaconda3/compiler_compat/ld

因此在anaconda环境下进行编译如果在系统默认的lib库地址下寻找不到目标lib则会报错:
ERROR: compiler_compat/ld: cannot find

 

当然为了解决anaconda的这个自带链接器的这个问题,我们可以把所有的lib库都安装到系统路径下,如x86_64系统的系统lib地址:
/usr/lib/x86_64-linux-gnu/

 

但是有时即使在系统lib路径下也会报错,那么我们就需要手动的把一些lib库拷贝到anaconda的lib路径下:
比如把lib文件拷贝到:/home/xxxxxx/anaconda3/lib/
但是这种copy的方式并不是很灵活,经过测试发现anaconda虽然不接受LD_LIBRARY_PATH的设置,但是接受LIBRARY_PATH的设置。

因此,我们就有了最灵活的为anaconda设置动态链接库的方法,那就是通过设置变量LIBRARY_PATH来为anaconda设置动态链接库。
比如  /home/xxxxxxx/xxx 下的某个lib库要设置给anaconda,那么我们可以设置:

export LIBRARY_PATH=/home/xxxxxxx/xxx:$LIBRARY_PATH

 

参考:

https://zhuanlan.zhihu.com/p/101027069

 

===============================================

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
z67waqH4oRtg