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-12-208:/work/stat/read/ucshuqisearch> ldd hello 
   linux-gate.so.1 =>  (0xb7719000) 
   liblog4c.so.3 => /usr/local/log4c/lib/liblog4c.so.3 (0xb76e8000) 
   libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb753e000) 
   libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7522000) 
   /lib/ld-linux.so.2 (0xb771a000)

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

原文地址:https://www.cnblogs.com/code-style/p/3224926.html