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

Mel*_*el3 11 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:找不到版本`ZLIB_1.2.9'(/ home/mel3 /需要)水蟒/ LIB/libpng16.so.16)

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

Ale*_*ski 26

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

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
Run Code Online (Sandbox Code Playgroud)


小智 18

下载 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
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请访问此

  • 遵循这些说明在许多系统上确实是危险的,并且会破坏zlib以及依赖于它的所有内容.在尝试此解决方案之前,请考虑以下答案 (4认同)
  • 这可能会弄乱系统上的其他二进制文件和库依赖项!有关正确和安全的答案,请参阅下面的 Alex Kaszynski 的答案。 (4认同)
  • 确认,在我的 Ubuntu 16 上进行此更改后,wifi 将无法连接到任何网络。我已将 /lib/x86_64-linux-gnu/libz.so.1 的符号链接更改回 /lib/x86_64-linux-gnu/libz.so.1.2.8 并且 wifi 立即连接。但对我来说这个答案有帮助,因为我有 AppImage 而下一个答案不适合我 (2认同)

Slu*_*sco 12

接受的答案并没有为我工作,要么,我真的建议符号链接在广泛使用的二进制文件时小心/lib/x86_64-linux-gnu/libz.so.1.

make uninstallzlib-1.2.9会破坏这个符号链接,这将打破一吨的包,是一个巨大的痛苦来解决.

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

  • 当时没有足够的代表发表评论,并且在遵循接受的答案后花了大量时间试图恢复 libz.so.1。亚历克斯的帖子当时也没有点赞,这很不幸,因为它比公认的解决方案更安全。只是想给大家省点麻烦,没必要三等。 (3认同)
  • 这篇文章真的救了我。他发生在我身上的确切恐惧以及他与“修复的巨大痛苦”的联系是我找到解决问题的方法的唯一原因。 (2认同)

小智 6

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

例如

cd /<DIRECTORY OF YOUR EXECUTABLE NEEDING ZLIB__1.2.9>/
export LD_LIBRARY_PATH=$PWD
Run Code Online (Sandbox Code Playgroud)

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

检查与

ldd <executable>
Run Code Online (Sandbox Code Playgroud)

应从新的 LD_LIBRARY_PATH 引用 zlib


小智 6

如果 Kamrul hassan 的解决方案损坏了您的电脑,请不要惊慌并执行以下操作:

sudo ldconfig
Run Code Online (Sandbox Code Playgroud)

以恢复到以前的状态。


Dr.*_*ter 5

为我工作:

wget https://github.com/madler/zlib/archive/v1.2.11.tar.gz
tar -zxvf v1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/bin/zlib/
make
make install
export LD_LIBRARY_PATH="/bin/zlib/lib":$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)