我是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要求)
我尝试过升级和重新加载,但不确定是否存在路径错误或发生了什么。非常感谢
答案 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引用