解决执行程序中出现的“cannot open shared object file: No such file or directory ”的问题

很显然这是因为在链接时候没有库文件所导致的,那么就要相应的编译个对应的动态库。下面我们就对这个问题的解决流程做一个简单介绍。

1、全局find下这个动态库是否存在。

2、利用lld查看运行的可执行文件的链接关系。

       例如:/opt/postgresql/postgresql/lib # ldd /opt/postgresql/postgresql/bin/createdb
        linux-gate.so.1 =>  (0x77f2f000)
        libpq.so.5 => not found
        libz.so.1 => /usr/lib/libz.so.1 (0x00698000)
        libreadline.so.5 => /usr/lib/libreadline.so.5 (0x037f1000)
        libtermcap.so.2 => /lib/libtermcap.so.2 (0x004e0000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x03006000)
        libdl.so.2 => /lib/libdl.so.2 (0x00650000)
        libm.so.6 => /lib/libm.so.6 (0x00656000)
        libc.so.6 => /lib/libc.so.6 (0x00509000)
        /lib/ld-linux.so.2 (0x004e6000)

3、如果没有该so的话,则需要重新编译一套动态库。如果有so的话则

      配置vi /etc/ld.so.conf

      加入 比bin的路径

4、如果要编译自己的动态库可参考如何编译动态库。 

如何编译自己的动态库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值