一位朋友为我构建了一个 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
。