当前位置: 首页 > news >正文

Linux运行时so库的问题解决方案

1.查看so库是否存在

1.若不存在,则安装相应的包或源码编译相应的so库,并放到/usr/lib/usr/local/lib

执行刷新

sudo ldconfig

这会把 /etc/ld.so.conf 和 /etc/ld.so.conf.d/ 里定义的路径都重新注册到动态链接器缓存。

2.若存在,则可能自身找不到它依赖的库

ldd xxxxxx.so

查看是否有 not found 的依赖项。然后查找对应的包继续安装尝试解决

2.安装包后还是警告不存在

1.查看包中是否包含缺失的so库

dpkg -L libopenexr-dev | grep .so

Linux 在加载 .so 时默认只查:

  • /lib

  • /usr/lib

  • /usr/local/lib

有时so库的文件被装在了 /usr/lib/x86_64-linux-gnu/ 或者 /usr/local/lib,但 ld.so 找不到链接。

2.使用软链接

sudo ln -s /usr/lib/x86_64-linux-gnu/libIlmImf-2_5.so.25 /usr/lib/x86_64-linux-gnu/libIlmImf-2_5.so

3.查找它们的具体位置

find /usr -name "libavcodec.so*"

4.运行时指定 LD_LIBRARY_PATH

如果 .so 们都在 /usr/lib/x86_64-linux-gnu,可以在执行时临时告诉它找这里:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
  • 有些 .so 默认装在 /usr/lib/x86_64-linux-gnu/,但某些 Linux 发行版的默认 ld.so.conf 里没包含这一路径

  • 某些so库加载 .so 时只能依赖系统动态链接器找库,不会自己找绝对路径。

5.将缺失的so库复制到程序目录

http://www.wooajung.com/news/35415.html

相关文章:

  • HTML获取摄像头画面,拍照截图保存
  • 基于YOLOv8的交通车辆(12种常见车型)实时检测系统识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
  • 事倍功半是蠢蛋37 docker部分重启
  • ceph osd reweight-by-utilization 参数解析
  • 52.java语言程序 设计
  • 排查和解决服务器cpu过载的问题
  • C. Not Assigning
  • 基于运维编排实现服务器故障自愈
  • 49.底层逻辑
  • 28-48.雪中捍刀行
  • K8s Pod 多种数据存储方式
  • 14Java基础之抽象类、接口
  • 深入解析:mac电脑安装 nvm 报错如何解决
  • 洛谷 P12078 [OOI 2025] Best Runner 题解
  • 远程git ssh配置1
  • 7月24日总结
  • VIRTUBOX BUG
  • 精通Python PDF裁剪:从入门到专业的三重境界
  • 如何在群晖虚拟机快速部署线上web网站并实现公网访问
  • 向他人分享我的音频
  • - BigBosscyb - 博客园
  • 整体二分
  • 闲来无事
  • - daydreamer_zcxnb - 博客园
  • - Redamancy_Lydic - 博客园
  • - darling331 - 博客园
  • - kintsgi - 博客园
  • TIM外部中断
  • LPC总线设计及其仿真验证
  • Fluent许可证类型