|
|
51CTO旗下网站
|
|
移动端

三种实用方法解决Linux动态库依赖问题

平时在编译安装某个软件时,如果自定义了一些安装目录,安装后有可能会提示找不到动态库。下面介绍下思路和三个解决方法。

作者:波波说运维来源:今日头条|2019-04-16 11:21

 概述

平时在编译安装某个软件时,如果自定义了一些安装目录,安装后有可能会提示找不到动态库。下面介绍下思路和三个解决方法。

思路

一般来说,通过make命令已经将程序依赖的动态库编译出来了,通过make install命令已经将动态库安装到系统的某个路径下。找没找到动态库就看这个路径是否包含在系统默认搜索动态库的路径中,如果不在,那么就会提示找不到动态库。以下三种方法,就是根据前面的分析来解决的。

方法一:修改LD_LIBRARY_PATH环境变量

特点:这种方法主要处理临时的动态库加载,LD_LIBRARY_PATH环境变量修改后,只能是对当前的用户生效。

LD_LIBRARY_PATH的作用:这个环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。

具体步骤:

1、找到动态库所在路径:sudo find / -name "[动态库名字]"

2、打开~/.bash_profile文件

3、在该文件***一趟添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[动态库所在的绝对路径]

4、source ~/.bash_profile

三种实用方法解决Linux动态库依赖问题

方法二:修改/etc/ld.so.conf配置文件

特点:对所有用户生效。不是每个操作系统都有这个配置文件,就Ubuntu系统有。

/etc/ld.so.conf的作用:记录了程序加载运行期间查找动态链接库时的路径。

具体步骤:

1、找到动态库所在路径:sudo find / -name "[动态库名字]"

2、打开/etc/ld.so.conf文件:sudo vi /etc/ld.so.conf

3、在***一行添加动态库的绝对路径

4、重新加载/etc/ld.so.conf文件:sudo ldconfig -v

三种实用方法解决Linux动态库依赖问题

方法三:创建动态库的软连接(推荐)

特点:让所有用户生效;并且通用,只要是Linux类型的操作系统,都会去/usr/lib目录下去找动态库。

具体步骤:

1、找到动态库所在路径:sudo find / -name "[动态库名字]"

2、创建动态库软连接:ln -s [动态库] [待创建的软链接]

注意:

1、创建软连接的时候要用绝对路径,如果用相对路径,会导致只在当前路径有效,其他路径这个软连接就找不到了。

2、不建议用cp的方式代替ln -s的方式。原因:当动态库升级的时候,有可能导致动态库版本不一致,还是链接的旧版本。

三种实用方法解决Linux动态库依赖问题

上面主要讲三个创建动态库的方法,其中ln -s方式是比较常用的,大家有空可以测试下。

【编辑推荐】

  1. Anbox帮你在Linux上轻松运行安卓应用程序
  2. 如何做好Linux系统安全加固之账号安全?11个安全小技巧分享
  3. 怎样理解和识别Linux中的文件类型
  4. 深入浅出话Linux分区管理
  5. Linux中获取硬盘分区或文件系统的UUID的七种方法
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

网管员必读—-网络安全

本书共10章,介绍的内容包括恶意软件(包括病毒、木马和蠕虫等)的深度防御方法,黑客的主要类型和防御方法,企业网络内、外部网络防火墙系...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客