Ubuntu如何查找libz.so.1属于哪个包并安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu如何查找libz.so.1属于哪个包并安装相关的知识,希望对你有一定的参考价值。
参考技术A 当出现:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory.时,我们首先知道的是缺少libz.so.1这个dll文件。解决方法:很明显就是安装这个库所在包咯,可是我们怎么这知道 libz.so.1在哪个包呢?
我们使用命令:apt-file search 来查找,首先安装,按如下命令:
sudo apt-get install apt-file
安装完以后系统会提示你update,如果没有提示,在终端输入如下命令:
sudo apt-file update
apt-file 是用来查找某个命令或者某一个库所在的包的,具体用法如下:
~$ apt-file search libz.so.1
运行命令显示如下:
lib32z1: /usr/lib32/libz.so.1
lib32z1: /usr/lib32/libz.so.1.2.3.3
lib32z1-dev: /usr/lib32/libz.so
lsb-build-base3: /usr/lib/lsb3/libz.so
zlib1g: /lib/libz.so.1
zlib1g: /lib/libz.so.1.2.3.3
zlib1g-dbg: /usr/lib/debug/lib/libz.so.1.2.3.3
zlib1g-dbg: /usr/lib/debug/usr/lib32/libz.so.1.2.3.3
zlib1g-dev: /usr/lib/libz.so
使用apt-file search 查找你的库所在包就行了,右边的是匹配你的库,左边的是你查的库所在的包,所以最后安装对应的包就行了。我们会发现与libz.so.1相对应的是左边名字叫:lib32z1的包,所以安装这个lib32z1包即可。
sudo apt-get install lib32z1
error while loading shared libraries: libz.so.1错误
编译全志linux内核报错
CC scripts/mod/empty.o
HOSTCC scripts/genksyms/genksyms.o
SHIPPED scripts/genksyms/lex.lex.c
HOSTCC scripts/conmakehash
HOSTCC scripts/mod/mk_elfconfig
HOSTCC scripts/recordmcount
SHIPPED scripts/genksyms/keywords.hash.c
/home/ql/linux/H3Core/lichee/out/sun8iw7p1/dragonboard/common/buildroot/external-toolchain/bin/../libexec/gcc/arm-linux-gnueabi/4.6.3/cc1: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
make[2]: *** [scripts/Makefile.build:308:scripts/mod/empty.o] 错误 1
make[2]: *** 正在等待未完成的任务....
SHIPPED scripts/genksyms/parse.tab.h
SHIPPED scripts/genksyms/parse.tab.c
HOSTCC scripts/genksyms/lex.lex.o
HOSTCC scripts/genksyms/parse.tab.o
make[1]: *** [scripts/Makefile.build:443:scripts/mod] 错误 2
make[1]: *** 正在等待未完成的任务....
CC kernel/bounds.s
/home/ql/linux/H3Core/lichee/out/sun8iw7p1/dragonboard/common/buildroot/external-toolchain/bin/../libexec/gcc/arm-linux-gnueabi/4.6.3/cc1: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
make[1]: *** [/home/ql/linux/H3Core/lichee/linux-3.4/./Kbuild:36:kernel/bounds.s] 错误 1
make: *** [Makefile:985:prepare0] 错误 2
make: *** 正在等待未完成的任务....
HOSTLD scripts/genksyms/genksyms
make: *** [Makefile:506:scripts] 错误 2
执行下面指令安装库即可解决
sudo apt-get install lib32z1
以上是关于Ubuntu如何查找libz.so.1属于哪个包并安装的主要内容,如果未能解决你的问题,请参考以下文章
编译Uboot时提示error while loading shared libraries: libz.so.1: cannot open shared object file: No such f