LDD命令--可执行文件依赖的库出现错误时

时间:2023-03-09 03:20:04
LDD命令--可执行文件依赖的库出现错误时

http://littlepig3056.blog.163.com/blog/static/180758353201212751814134/

ldd  查看可执行文件依赖的库,结果会列出依赖的库名及依赖库所在路径

ldd命令执行时,从环境变量LD_LIBRARY_PATH查找可执行文件链接的库。
所以要让可执行文件链接到正确的库有两种方式:
1. 编写setenv.sh脚本设置环境变量LD_LIBRARY_PATH
     采用这种方式,要求每次启动新会话后,都必须执行source setenv.sh命令行,使得设置对于当前会话生效。
2. 修改用户根目录的.bash_profile文件
export LD_LIBRARY_PATH=/home/zk/lib:$ORACLE_HOME
这样每次会话被打开后,会自动设置.bash_profile中的环境变量。不用每次手工执行source setenv.sh。但是,如果多个程序员使用同样的账号部署程序时,需要注意保持所有程序员依赖的库的版本的一致性。

ldd 查看可执行程序
wappp@ppcn--:/work/stat/read/ucshuqisearch> ldd hello
linux-gate.so. => (0xb7719000)
liblog4c.so. => /usr/local/log4c/lib/liblog4c.so. (0xb76e8000)
libc.so. => /lib/i386-linux-gnu/libc.so. (0xb753e000)
libpthread.so. => /lib/i386-linux-gnu/libpthread.so. (0xb7522000)
/lib/ld-linux.so. (0xb771a000)

如果系统里没有库,就会提示 xx.so.3 not found