在redhat linux5.4里 替换动态库后,编译成功,但用ldd查看程序,显示此库找不到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在redhat linux5.4里 替换动态库后,编译成功,但用ldd查看程序,显示此库找不到相关的知识,希望对你有一定的参考价值。

我在/usr/local/lib中,替换了一个新版本的动态库xx.so.1,并重新软连接xx.so, ldconfig后,再编译,但是程序运行说找不到此库。用ldd命令查看,发现一行 xx.so.0 => not found,我明明换了新版本,可是编译还是连接原来的旧版本xx.so.0,很急,哪位大侠帮我解决,必有加分,

呵呵,
1.将该路径添加到/etc/ld.so.conf的最后一行
2.ldconfig -v
应该就可以了。追问

不行呀

追答

编译能不能通过,
编译不通过,加-I 动态库路径 -l动态库名称
如果你简单的替换了库,相关的软连接,你都要按照原来的做好。

如果编译通过,软连接做好,执行的时候还是找不到动态库。
那就是替换,软连接做的有问题,可能遗漏了相关内容。

参考技术A 呵呵,简单,我知道,多给点分,5分太少了追问

回答出来,肯定会追加的

追答

请先加

参考技术B 后面应该加上-L库的名字编译,你是不是忘了。

RedHat 7配置ISCSI服务

在rhel7中的众多变化之中,就有早先的ISCSI 目标程序tgtd 被抛弃,替换为的新的Linux-IO(lio),lio是一个是一个内核空间的iscsi target。(详见http://linux-iscsi.org/wiki/ISCSI


安装iscsi target服务:yum -y install targetcli

技术分享

启动服务:systemctl start target

设置服务开机自动启动:systemctl enable target

技术分享

进入iscsi target配置命令行:targetcli

技术分享

使用文件系统,创建名为disk01,大小1G的磁盘文件:

cd backstores/fileio

create disk01 /data/disk01.img 1G

技术分享

或者使用块设备,示例如下:

/>     cd backstores/
         /backstores> iblock/ create name=block_backend dev=/dev/sdb
         Generating a wwn serial.
         Created iblock storage object block_backend using /dev/sdb.
         /backstores>

 

或者使用LVM逻辑卷,示例如下
 />        
/backstores> iblock/ create name=block_backend_lvm     dev=/dev/vg0/lv1
         Generating a wwn serial.
         Created iblock storage object block_backend_lvm using     /dev/vg0/lv1.
         /backstores>


创建iqn,并在该iqn下创建门户IP

技术分享

然后再该iqn下创建lun0,这样就跟上文创建的磁盘文件disk01.img关联起来

技术分享

最后在该iqn下创建acls访问控制条目,允许客户端的iqn访问该磁盘文件

技术分享

配置完毕,ls查看一下配置的树状结构,然后保存并退出

技术分享

查看一下创建的disk01.img的大小,可以看到是动态精简磁盘,大小是0

技术分享

windows客户端测试:

技术分享

技术分享

技术分享

技术分享

Linux客户端测试:

发现target:iscsiadm -m discovery -t sendtartgets -p 192.168.10.14

技术分享

登录target:iscsiadm -m node -T iqn.2016-03.rh7.server:disk01 --login,但登录失败,因为acl中没有允许该Linux客户端的访问

技术分享

查看该Linux客户端的iqn

技术分享

在服务器端配置target,添加该Linux客户端的iqn到acls中以运行访问

技术分享

技术分享

登录target,成功登录

技术分享

用fdisk -l查看该磁盘文件

技术分享

退出该target

技术分享


本文出自 “江健龙的技术博客” 博客,请务必保留此出处http://jiangjianlong.blog.51cto.com/3735273/1790989

以上是关于在redhat linux5.4里 替换动态库后,编译成功,但用ldd查看程序,显示此库找不到的主要内容,如果未能解决你的问题,请参考以下文章

VS2008里,创建一个win32 static libraryd静态库后,怎么添加一个 symbol “TETLIBRARY” 到编译开关?

如何动态替换apk中manifest文件里的android:schema?

Linux5.4 shell特殊符号及管道相关命令

redhat替换yum源

yum install错误 系统环境:Oracle Linux5.4 在通过yum安装软件时出现以下错误:

redhat系统替换免费Yum源服务