预计所需编译时间: 0.1 SBU 预计所需硬盘空间: 1.5 MB |
Zlib 依赖于: Binutils, Coreutils, GCC, Glibc, Make, Sed.
Zlib 的 gzprintf() 函数存在缓冲区溢出的安全问题,尽管很难被利用,还是应该小心。下面的补丁修正这个问题:
patch -Np1 -i ../zlib-1.1.4-vsnprintf.patch |
为编译 Zlib 做准备:
./configure --prefix=/usr --shared |
注意:如果在环境变量中指定了 CFLAGS 的话,Zlibis就不能正常编译共享库。如果你指定了自己的CFLAGS环境变量,请把 -fPIC 加到CFLGAS的最前面,在安装后再去掉这个参数。
编译软件包:
make |
安装共享库:
make install |
安装非共享库:
make clean ./configure --prefix=/usr make |
本软件包自带测试套件,能执行一些测试,以确定它是否编译正确。如果你想运行测试套件,执行下面的命令:
make test |
安装软件包:
make install |
共享的zlib库文件应该安装到/lib目录里。这样当你不能加载/usr分区时,重要的系统程序仍能使用zlib库:
mv /usr/lib/libz.so.* /lib |
/usr/lib/libz.so符号链接指向一个不存在的文件,因为我们移动了它。创建一个指向新位置的符号链接:
ln -sf ../../lib/libz.so.1 /usr/lib/libz.so |
Zlib 没有安装它的手册页。用下列命令安装文档:
cp zlib.3 /usr/share/man/man3 |