安装的库: libz.[a,so]
Zlib 软件包包含 zlib 库,很多程序中的压缩或者解压缩程序都会用到这个库。
Zlib 有一个能够导致拒绝服务攻击的缓冲区溢出漏洞,下面的补丁可以修正它:
patch -Np1 -i ../zlib-1.2.2-security_fix-1.patch
如果在环境变量中指定了 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