Linux From Scratch XXI: perl, autoconf, automake, diffutils y gawk

En mi artículo anterior de esta serie he terminado de instalar inetutils. El siguiente paquete al que le ha tocado el turno, según el libro de Linux From Scratch, es perl, así que voy a encargarme de él en este post junto con algunos más. Poco a poco vamos avanzando. Esta parte del libro es un poco pesada, porque instalar los paquete es siempre más o menos igual, excepto cuando surge algún problema.

Instalando perl

Según el libro, perl tarda 7.5 SBU en instalar. Habrá que tener paciencia. Primero preparamos el paquete.

[~/lfs]$ sudo lfs perl-5.16.1
root:/# cd sources/
root:/sources# tar xvf perl-5.16.1.tar.bz2
root:/sources# cd perl-5.16.1

Antes que nada creamos un fichero /etc/hosts, que perl necesita para uno de sus ficheros de configuración y para pasar los tests. Luego hacemos una modificación para que utilice la zlib que tenemos instalada en vez de la suya propia. Por último, configuramos el código fuente. Esta configuración se hace con un script específico en vez de con el configure de siempre, pero funciona prácticamente igual.

root:/sources/perl-5.16.1# echo "127.0.0.1 localhost $(hostname)" > /etc/hosts
root:/sources/perl-5.16.1# sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|"           \
>        -e "s|INCLUDE\s*= ./zlib-src|INCLUDE    = /usr/include|" \
>        -e "s|LIB\s*= ./zlib-src|LIB        = /usr/lib|"         \
>     cpan/Compress-Raw-Zlib/config.in
root:/sources/perl-5.16.1# sh Configure -des -Dprefix=/usr                 \
>                   -Dvendorprefix=/usr           \
>                   -Dman1dir=/usr/share/man/man1 \
>                   -Dman3dir=/usr/share/man/man3 \
>                   -Dpager="/usr/bin/less -isR"  \
>                   -Duseshrplib

Todo este proceso ha tardado 34 segundos. No es mucho, así que el que tarda es alguno de los pasos posteriores. Vamos a compilar y pasar los tests.

root:/sources/perl-5.16.1# make
root:/sources/perl-5.16.1# make -k test

La compilación ha tardado 1 minuto y 15 segundos. Los tests, 9 minutos y 45 segundos. Ya sabemos quién es el que tarda. 🙂 Ahora, puesto que los test han pasado correctamente, instalamos todo.

root:/sources/perl-5.16.1# make install
root:/sources/perl-5.16.1# exit
[~/lfs]$ sudo lfsinst perl-5.16.1.txz

Instalando Autoconf

El paquete autoconf es de los sencillos. Tiene tests, pero no me han dado ningún problema. Por lo demás, las instrucciones son las de siempre y no hay que hacer ninguna corrección ni nada raro. Los comandos son estos:

[~/lfs]$ sudo lfs autoconf-2.69
root:/# cd sources
root:/sources# tar xvf autoconf-2.69.tar.xz
root:/sources# cd autoconf-2.69
root:/sources/autoconf-2.69# ./configure --prefix=/usr
root:/sources/autoconf-2.69# make
root:/sources/autoconf-2.69# make check
root:/sources/autoconf-2.69# make install
root:/sources/autoconf-2.69# exit
[~/lfs]$ sudo lfsinst autoconf-2.69.txz

No he cronometrado los tests, pero también han tardado bastante. Aparte de eso, todo ha ido bien a la primera.

Instalando Automake

El libro dice que automake tarda 0.1 SBU en instalar y 34.1 SBU con los tests (¡!). El propio libro recomienda no pasar los tests, así que voy a seguir su sabio consejo. 🙂 Si no pasamos los tests, los comandos son tan sencillos como los de autoconf.

[~/lfs]$ sudo lfs automake-1.12.3
root:/# cd sources/
root:/sources# tar xvf automake-1.12.3.tar.xz
root:/sources# cd automake-1.12.3
root:/sources/automake-1.12.3# ./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.12.3
root:/sources/automake-1.12.3# make
root:/sources/automake-1.12.3# make install
root:/sources/automake-1.12.3# exit
[~/lfs]$ sudo lfsinst automake-1.12.3.txz

Instalando diffutils

Empezamos a instalar diffutils usando los comandos de siempre.

[~/lfs]$ sudo lfs diffutils-3.2
root:/# cd sources/
root:/sources# tar xvf diffutils-3.2.tar.gz
root:/sources# cd diffutils-3.2

Ahora tenemos que aplicar una corrección para evitar un problema de compatibilidad con la glibc que estamos usando. Después de eso, seguimos compilando como siempre.

root:/sources/diffutils-3.2# sed -i -e '/gets is a/d' lib/stdio.in.h
root:/sources/diffutils-3.2# ./configure --prefix=/usr
root:/sources/diffutils-3.2# make
root:/sources/diffutils-3.2# make check

No ha habido ningún problema con los tests, o sea que podemos instalar.

root:/sources/diffutils-3.2# make install
root:/sources/diffutils-3.2# exit
[~/lfs]$ sudo lfsinst diffutils-3.2.txz

Instalando gawk

El último paquete que vamos a instalar por ahora es gawk. Empezamos como siempre.

[~/lfs]$ sudo lfs gawk-4.0.1
root:/# cd sources/
root:/sources# tar xvf gawk-4.0.1.tar.xz
root:/sources# cd gawk-4.0.1

Ahora configuramos, compilamos y pasamos los tests.

root:/sources/gawk-4.0.1# ./configure --prefix=/usr --libexecdir=/usr/lib
root:/sources/gawk-4.0.1# make
root:/sources/gawk-4.0.1# make check

Y ahora instalamos los ficheros. Los dos últimos comandos sirven para instalar la documentación, que va aparte.

root:/sources/gawk-4.0.1# make install
root:/sources/gawk-4.0.1# mkdir -v /usr/share/doc/gawk-4.0.1
root:/sources/gawk-4.0.1# cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-4.0.1

Ya podemos generar el paquete e instalarlo.

root:/sources/gawk-4.0.1# exit
[~/lfs]$ sudo lfsinst gawk-4.0.1.txz

Y con esto termino el post de hoy. En el siguiente empezaremos por findutils.

EOF

Anuncios