| Linux From Scratch: Versión 5.0 | ||
|---|---|---|
| Anterior | Capítulo 6. Instalación de los programas del sistema base | Siguiente | 
| Tiempo estimado de construcción: 0.1 SBU Estimación del espacio necesario en disco: 1.5 MB | 
El paquete Zlib contiene la librería libz, utilizada por varios programas para realizar las funciones de compresión y descompresión..
Librería instalada: libz[a,so]
Zlib depende de: Binutils, Coreutils, GCC, Glibc, Make, Sed.
Zlib puede sufrir un desbordamiento de memoria en la función gzprintf(), que, aunque es difícil de explotar, debería ser corregido. Házlo aplicando este parche:
| patch -Np1 -i ../zlib-1.1.4-vsnprintf.patch | 
Prepara Zlib para su compilación:
| ./configure --prefix=/usr --shared | 
Advertencia: se sabe que Zlib construye incorrectamente sus librerías si en el entorno se ha especificado un CFLAGS. Si estás usando tus propias variables CFLAGS, asegurate de añadir la directiva -fPIC durante esta fase, y eliminala posteriormente.
Compila el paquete:
| make | 
Instala las librerías compartidas:
| make install | 
Ahora, construye también las librerías no compartidas:
| make clean ./configure --prefix=/usr make | 
Este paquete contiene un banco de pruebas que puede realizar una serie de comprobaciones para asegurar que se ha construido correctamente. Si decides ejecutarlo, hazlo con el siguiente comando:
| make test | 
E instala el paquete:
| make install | 
La librería compartida de Zlib debe instalarse en el directorio /lib. De este modo, en el caso de que debas arrancar sin el directorio /usr, los programas vitales del sistema todavía tendrán acceso a la librería:
| mv /usr/lib/libz.so.* /lib | 
El enlace simbólico /usr/lib/libz.so apunta a un fichero que ya no existe, debido a que lo hemos movido. Crea un enlace simbólico a la nueva localización de la librería:
| ln -sf ../../lib/libz.so.1 /usr/lib/libz.so | 
Zlib no instala su página de manual. Ejecuta el siguiente comando para instalar esta documentación:
| cp zlib.3 /usr/share/man/man3 |