尝试解决对 libz.so.1(ZLIB_1.2.9) 的依赖

尝试解决对 libz.so.1(ZLIB_1.2.9) 的依赖

一位朋友为我构建了一个 EPUB 转换器,它依赖于lib64png16_16. lib64png16_16依赖于libz.so.1(ZLIB_1.2.9)(64bit).我下载并编译了ZLIB_1.2.11,但它没有被识别为解决方案(并且 make install 没有将其放入/usr/lib64)。

有谁可以(a)获得libz.so.1(ZLIB_1.2.9)(64bit)x86_64/CentOS7 的 RPM,或(b)告诉我如何编译libz.so.1(ZLIB_1.2.11)(64bit)?愚蠢的我,我以为在 64 位系统上编译它会得到 64 位版本。

PS,CentOS ZLIB包是1.2.7。我找不到 1.2.9 或更高版本的。

答案1

您需要在前面添加lib编译和构建的ZLIB_1.2.11目录your LD_LIBRARY_PATH

例如,我是这样编译和构建的:

我创建了这些目录

/opt/zlib/1.2.11

/opt/zlib/src

然后我进入/opt/zlib/src并:

 wget https://github.com/madler/zlib/archive/v1.2.11.tar.gz

然后我将其解压并移至包含配置的目录中,就像我确信您所做的那样,然后运行以下命令:

./configure --prefix=/opt/zlib/1.2.11

然后我跑了make,然后make install

这将库放入:

/opt/zlib/1.2.11/lib

然后我运行这个命令来查看ZLIB_1.2.9可用的:

strings -d /opt/zlib/1.2.11/lib/libz.so | grep ^ZLIB

最后,我运行了这个:

export LD_LIBRARY_PATH=/opt/zlib/1.2.11/lib:/usr/lib64:$LD_LIBRARY_PATH

在您的情况下,您将运行以下命令:

export LD_LIBRARY_PATH=/path/to/zlib/lib:/usr/lib64/:$LD_LIBRARY_PATH

显然,您将替换/path/to/zlib/lib为库位置的路径zlib 1.2.11

相关内容