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