遇到“XX.so:....”问题

       没有想到很好的题目来概括“.so”问题,因为这种问题的后面总是有各种"no version"、“undefined reference to ”等等,让人摸不着头脑。。。

      总的概括就是  软连接的问题,需要重新连接!

     这里经常有两种情况,一种是annaconda环境下的,一种是非annaconda环境下的,区别主要是看报错的时候“*.so”前面的地址是不是含有annaconda。

  • annaconda环境

    因为网上大多数都是解决非annaconda环境问题的,所以这里先说annaconda报错的,这里以“anaconda3/lib/libcurl.so.4:no version information available“为例。

    先输入以下指令查看libcurl.so.4所在位置。

  

~$ locate libcurl.so.4

    可以看到输出

     

     重点看红色和黄色框内的内容。

     用rm -rf指令去除annaconda下的文件,如下所示

     

~$ rm -rf /home/deep/anaconda3/lib/libcurl.so.4
~$ rm -rf /home/deep/anaconda3/lib/libcurl.so.4.4.0
~$ rm -rf /home/deep/anaconda3/lib/libcurl.so.4.5.0

  然后重新进行链接

  

~$ ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4 /home/deep/anaconda3/lib/libcurl.so.4

  这样就解决了。

   这里记录一下我碰到的另一个问题也是采用这个方法解决的,以便以后碰到的时候方便查找:

    anaconda/lib/libSM.so.6: undefined reference to `uuid_generate@UUID_1.0'

  • 非annaconda环境

    因为我没有出现这个问题,但是看到的大多数都是这种情况,所以我这里也mark,就是没有贴图说明了。。

  此处参考:  https://blog.csdn.net/cui841923894/article/details/81514063

   (anaconda/lib/libSM.so.6也是受到这篇博文启发才解决的,此处感谢博主~)

  此处以//usr/lib/x86_64-linux-gnu/libSM.so.6: undefined reference to uuid_generate@UUID_1.0' 为例

~$ locate libSM.so.6

   输出的话,博客里是这样写的

   

    个人分析应该是不止这两个文件的,应该还有/usr/local/lib/libuuid.so.1

     看到红色框和黄色框,就能感受到是否是anaconda的区别了。。。

     同样删掉并重新链接

~$ rm -rf /usr/local/lib/libuuid.so.1
sudo ln -sf /lib/x86_64-linux-gnu/libuuid.so.1.3.0 /usr/local/lib/libuuid.so.1

   搞定~

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值