/lib/x86_64-linux-gnu/libz.so.1:版本`ZLIB_1.2.9'未找到

时间:2018-01-17 17:32:15

标签: eclipse opencv

我是Linux的新手,在Ubuntu 16.04上使用Eclipse Oxygen.2版本4.7.2

我收到错误:

/usr/lib/opencv-2.4.13.5/build/lib/libopencv_java2413.so:/lib/x86_64-linux-gnu/libz.so.1:version`ZLIB_1.2.9'未找到(/home/mel3/anaconda/lib/libpng16.so.16要求)

我尝试过升级和重新加载,但不确定是否存在路径错误或发生了什么。非常感谢

5 个答案:

答案 0 :(得分:21)

接受的答案对我不起作用,但是在这之后做了:

https://ubuntuforums.org/showthread.php?t=2375927

重复答案:

cd /your_software/../lib/ (the directory containing libz.so.1)
mv libz.so.1 libz.so.1.old
ln -s /lib/x86_64-linux-gnu/libz.so.1

答案 1 :(得分:16)

Download Zlib 1.2.9 然后运行这些命令

tar -xvf ~/Downloads/zlib-1.2.9.tar.gz
cd zlib-1.2.9
sudo -s
./configure; make; make install
cd /lib/x86_64-linux-gnu
ln -s -f /usr/local/lib/libz.so.1.2.9/lib libz.so.1
cd ~
rm -rf zlib-1.2.9

有关详细信息,请访问此link

答案 2 :(得分:9)

可接受的答案对我也不起作用,我真的建议在通过/lib/x86_64-linux-gnu/libz.so.1之类的广泛使用的二进制符号进行符号链接时要格外小心。

make uninstall的{​​{1}}将破坏此符号链接,这将破坏大量软件包并成为huge pain to fix

Alex的解决方案为我工作,并且破坏性小得多,因为您只修改可执行文件目录中的符号链接,而不是整个系统。

答案 3 :(得分:3)

如果Kamrul hassan的解决方案破坏了您的电脑,请不要慌张,然后做:

sudo ldconfig

恢复到以前的状态。

答案 4 :(得分:1)

一个安全的方法是下载(或构建)libz.so.1.2.9并将其放在可执行文件的目录中(或放置在任何地方),然后导出LD_LIBRARY_PATH ,而不是弄乱系统库。到该目录

例如

cd /<DIRECTORY OF YOUR EXECUTABLE NEEDING ZLIB__1.2.9>/
export LD_LIBRARY_PATH=$PWD

现在,您的可执行文件将从新位置而不是/ lib / x86_64-linux-gnu加载zlib

检查

ldd <executable>

zlib应该从新的LD_LIBRARY_PATH引用