6.16. Zlib-1.2.1
6.16. Zlib-1.2.1
Пакет Zlib содержит библиотеку, которая используется некоторыми программами для своих функций сжатия и распаковки.
Расчетное время сборки 0.1 SBU
Требуемое место на диске 1.5 MB
Zlib - зависимости установки: Binutils, Coreutils, GCC, Glibc, Make и Sed
6.16.1. Инсталируем Zlib
Следующий патч устраняет уязвимость отрицания сервиса в библиотеке сжатия Zlib:
patch -Np1 -i ../zlib-1.2.1-security-1.patch
Замечание
Zlib известна некорректной сборкой shared-библиотеки при указанной переменной окружения CFLAGS. Если вы используете эту переменную, добавите диррективу -fPIC в переменную CFLAGS на этом этапе, и удалите ее по окнчании.
Подготавливаем Zlib для компиляции:
./configure --prefix=/usr --shared
Компилируем пакет
make
Для проверки результата вводим: make check.
Установим разделяемую библиотеку:
make install
Соберем статическую библиотеку:
make clean ./configure --prefix=/usr make
Для тестирования результата опять выполним: make check.
Установим статическую библиотеку:
make install
Исправим права доступа у статической библиотеки:
chmod 644 /usr/lib/libz.a
Очень практично размещать важные библиотеки в директории /lib. Это особенно важно в случаях, когда /usr находится на отдельном разделе диска. Важно, чтобы загружаемые компоненты любых библиотек, которые используются программами в /bin или /sbin размещались в /lib так, что они находятся на разделе root и доступны в случае недоступности /usr.
Для обеспечения вышеуказанного, переместим загружаемые компоненты разделяемых Zlib в /lib:
mv /usr/lib/libz.so.* /lib
Исправим ссылку /usr/lib/libz.so:
ln -sf ../../lib/libz.so.1 /usr/lib/libz.so