linux 缺少动态连接库.so--cannot open shared object file: No such file or directory

error while loading shared libraries的解決方法

执行行程式時,如此遇到像下列這種錯誤:

./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory

那就表示系統不知道xxx.so 放在哪個目錄下。

這個時候就要在/etc/ld.so.conf中加入xxx.so所在的目錄。

一般而言,有很多so檔會在/usr/local/lib這個目錄下,所以在/etc/ld.so.conf中加入/usr/local/lib這一行,可以解決此問題。

或者加入一行xx.so所在的绝对路径,如/usr/local/log4cxx/lib/ 也行。

將 /etc/ld.so.conf存檔後,還要執行「/sbin/ldconfig –v」來更新一下才會生效。

如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下, 但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库.

LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:

export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH

一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

总结:

总结下来主要有3种方法:

  1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边
ln -s /where/you/install/lib/*.so /usr/lib
sudo ldconfig
  1. 修改LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/where/you/install/lib:$LD_LIBRARY_PATH
sudo ldconfig
  1. 修改/etc/ld.so.conf,然后刷新
vim /etc/ld.so.conf
add /where/you/install/lib
sudo ldconfig
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在虚拟机或容器中运行Python文件时出现"ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory"的错误提示时,这通常是由于缺少对应的共享文件所致。以下是解决此问题的方法: 1. 确认缺少的共享文件:错误消息中指出了缺少的共享文件的名称,这里是"libgthread-2.0.so.0"。确认该文件确实不存在。 2. 安装缺少的共享文件:在Ubuntu系统中,可以使用以下命令来安装缺少文件: ```bash sudo apt-get install libglib2.0-0 ``` 这样可以安装名为"libglib2.0-0"的文件,其中包含了"libgthread-2.0.so.0"这个文件。 3. 更新系统缓存:安装完文件后,可能需要更新系统缓存。可以使用以下命令来更新: ```bash sudo ldconfig ``` 这样可以使系统重新加载文件,以便后续的程序可以正确找到相应的共享。 通过以上步骤,您应该能够解决"ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory"的问题。请根据您的具体情况进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory](https://blog.csdn.net/weixin_61057398/article/details/128047079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ubuntu报错:libg2c.so.0:cannot open shared object file: no such file or directory/wrong ELF class...](https://download.csdn.net/download/weixin_42191440/15522073)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [error while loading shared libraries: libstdc++.so.6:cannot open shared object file:](https://download.csdn.net/download/weixin_38719719/13698954)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值