Linux动态链接库查找路径
目录
Linux下指定动态链接库查找路径有以下方法,设置环境变量或修改配置文件。
环境变量
设置环境变量LD_LIBRARY_PATH
,当前session下立即生效,logout后失效
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/lib
可以将此命令添加到*~/.bash_profile*,后续login依然有效
# echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/lib" >> ~/.bash_profile
# source ~/.bash_profile
配置文件
/etc下以ld.so开头的文件和目录,指定了动态链接库查找路径
-
/etc/ld.so.conf
支持include子配置文件,扩展之后,即包含一系列以逗号/冒号/TAB/换行符分隔的动态链接库目录
# cat /etc/ld.so.conf include ld.so.conf.d/*.conf
-
/etc/ld.so.conf.d/
动态链接库路径配置文件,结构清晰,适合为某个特定项目指定动态链接库路径
-
/etc/ld.so.cache
内容是动态链接库的具体关联,本身是二进制文件,可使用
ldconfig
读取内容
修改ld.so.conf或ld.so.conf.d下添加配置文件后,运行ldconfig
使之立即生效。
ldconfig
命令在以下目录内查找动态链接库,建立关联,生成cache, 即 /etc/ld.so.cache
- 命令行指定目录
- /etc/ld.so.conf 指定目录
- /lib
- /lib64
- /usr/lib
- /usr/lib64
查看动态链接库关联
# ldconfig -p | less