6.16. Zlib-1.2.2

Zlib 软件包包含 zlib 库,很多程序中的压缩或者解压缩程序都会用到这个库。

预计编译时间: 0.1 SBU
所需磁盘空间: 2.7 MB
安装依赖于: Binutils, Coreutils, GCC, Glibc, Make, Sed

6.16.1. 安装 Zlib

Zlib 有一个能够导致拒绝服务攻击的缓冲区溢出漏洞,下面的补丁可以修正它:

patch -Np1 -i ../zlib-1.2.2-security_fix-1.patch
[Note]

注意

如果在环境变量中指定了 CFLAGS 的话,Zlib 就不能正常编译共享库。如果你指定了自己的CFLAGS环境变量,请把 -fPIC 加到 CFLAGS 的最前面,在安装后再去掉这个参数。

为编译 Zlib 做准备:

./configure --prefix=/usr --shared --libdir=/lib

编译软件包:

make

要测试结果,请运行: make check

安装共享库:

make install

上面的命令将会在 /lib 目录中安装一个 .so 文件。我们将要移除它并重新连接到 /usr/lib 目录下:

rm /lib/libz.so
ln -sf ../../lib/libz.so.1.2.2 /usr/lib/libz.so

编译静态库(非共享库):

make clean
./configure --prefix=/usr
make

要测试静态库可以用这个命令:make check

安装静态库:

make install

修正静态库的权限:

chmod 644 /usr/lib/libz.a

6.16.2. Zlib 的内容

安装的库: libz.[a,so]

简要描述

libz

包含很多程序都用到的压缩和解压函数。