求助:libz.so.1:no version information available
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:libz.so.1:no version information available相关的知识,希望对你有一定的参考价值。
今天安装一个软件,使用了libz.so.1这样一个动态链接库,编译时没有问题,但是运行时总是提示:libz.so.1:no version information available(...required),其中。。。为安装软件的名称。google一上午没有解决问题,最后实在没有办法,请教老大,两分钟搞定。原来这是因为编译时使用的makefile中引用的动态链接库和实际运行时使用的动态链接库不同造成的。可以通过
ldd application_path/executable查看可执行文件的动态链接库,然后与makefile文件中的动态链接库对比不是一个链接库,因此在$LD_LIBRARY_PATH中添加makefile中引用的动态链接库所在路径path加入到LD_LIBRARY_PATH中:export LD_LIBRARY_PATH=path:$LD_LIBRARY_PATH。这样运行时就会首先查找path中的动态链接库从而找到正确的动态链接库,程序也恢复正常。 参考技术A 没有可用的版本信息
rpm:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file o
由于要离线升级服务器中zlib版本,但rpm安装时会提示版本冲突,于是rpm -e --nodeps zlib强制将zlib,
然而再执行rpm安装zlib-1.2.7-18.el7.x86_64时提示了错误:
rpm:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
解决方案有:
1、可以从同一版本系统中拷贝/usr/lib64/下的libz.so.1.2.7和libz.so.1到U盘中,U盘挂载到服务器中再进行拷贝恢复
查看磁盘分区名
# fdisk -l
挂载U盘到/mnt目录下
# mount /dev/*** /mnt/
然后复制libz.so.1.2.7和libz.so.1到/usr/lib64/下
卸载U盘
# umount /dev/***
2、进入单用户模式从内核中复制
开机到选择系统界面时按e,找到出现“ro”的一行将 “ro” 替换成rw init=/sysroot/bin/sh
改完按Ctrl + X进入单机模式
直接从/lib64目录复制libz.so.1.2.7和libz.so.1到/sysroot/usr/lib64/下
cp /lib64/libz.so.1.2.7 /sysroot/usr/lib64/
cp /lib64/libz.so.1 /sysroot/usr/lib64/
chroot /sysroot 获取root权限
# rpm -ivh zlib-1.2.7-18.el7.x86_64.rpm
以上是关于求助:libz.so.1:no version information available的主要内容,如果未能解决你的问题,请参考以下文章
error while loading shared libraries: libz.so.1
编译Uboot时提示error while loading shared libraries: libz.so.1: cannot open shared object file: No such f
rpm:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file o
bad ELF interpreter: No such file or directory