HowTo:PostInstall:Recompilar
De Luispa
Recompilación completa del sistema
Estos son los pasos que he seguido para recompilar completamente el sistema. Normalmente basta con hacer un "emerge -e system" y luego un "emerge -e world", pero en mi caso he aprovechado para actualizar a la última versión de GCC (4.4.4-r1).
- Primero voy a hacer un "fetch" de todos los paquetes.
Dado que suelo limpiar de vez en cuando mi directorio "distfiles", para evitar las esperas a la descarga de los paquetes, he ejecutado un fetch de system y world, lo dejo lanzado en otro terminal mientras continúo con GCC # emerge -f system && emerge -f world
- Actualizo GCC a lo último (a fecha de hoy 9/7/10), para ello primero preparo el keywords
Fichero: /etc/portage/package.keywords
# Gcc 4.4.4-r1 =sys-devel/gcc-4.4.4-r1 ~amd64
- Verifico en qué versión estoy:
# gcc-config -l [1] x86_64-pc-linux-gnu-4.4.3 *
- Compilo GCC (arranco en otro terminal un fetch)
# emerge -v gcc (12:30 min) # gcc-config -l [2] x86_64-pc-linux-gnu-4.4.4 *
- Recompilar libtool
# emerge --oneshot -av libtool (1:35 min)
- Recompilo GCC de nuevo
# emerge -v gcc (12:30 min)
- Recompilar el resto del Toolchain
# emerge -v binutils glibc (10 min)
- Recompilar system. 294 Paquetes.
# emerge -ve system (02:24:00) (Salida de emerge -pev system)
- Recompilar world. 1794 Paquetes.
# emerge -ve world (16:42:00) (Salida de emerge -pev world) Voy a ir apuntando los minutos que va tardando (cada vez que se para). El comando emerge lo ejecuto con "time" delante, ejemplos: # time emerge -ve world # time emerge --resume # time emerge --resume --skipfirst Tiempo completo16h 42m
Aviso: Tiempo total incluido gcc y emerge system, world: 19h 43m
- Ececutar etc-update
# etc-update
Resolver fallos
- Durante la recompilación completa del sistema es habitual que alguno de los paquetes falle durante la compilación y esta se pare. Lo normal es continuar con un "--resume" y ver si compila en el segundo intento o bien con "--resume --skipfirst" y dejar dicho paquete para el final, es decir, resolver dichos problemas una vez que hayamos terminado.
- Para continuar siempre recomiendo intentar primero un --resume. Es MUY IMPORTANTE, dado que al hacer --resume podría pasar (de hecho me ha pasado varias veces) que el primero a recompilar no sea el que ha fallado, sólo si el primero a recompilar es el que falló, entonces uso --skipfirst.
# emerge --resume Reintentarlo. # emerge --resume --skipfirst Continuar con el siguiente paquete e ignorar el que ha fallado
- Ir apuntando los que han dado problema para resolverlo al final
- Estos son los que me han ido fallando a mi caso.
SYSTEM: - app-arch/xz-utils-4.999.9_beta Compilado al finalizar system WORLD: - sci-libs/fftw --resume compiló bien - media-video/dirac --resume compiló bien - media-libs/libkate --resume compiló bien - app-misc/lirc PENDIENTE, inconsistencia con el kernel, lo revisaré... - gnome-extra/libgda actualizo a la versión 4.1.4-r1, compila e instala correctamente. - media-gfx/lightzone Nueva versión /usr/local/portage/media-gfx/lightzone/lightzone-3.9.ebuild, compila bien. - armagetronad Compiló bien al reintentarlo tras finalizar emerge -e world - media-video/openshot Nueva versión /usr/local/portage/media-video/openshot/openshot-1.1.3.ebuild, compila bien.
- Marzo 11
WORLD ERROR: media-sound/ardour-2.8.7 failed (compile phase):
--Luis 08:31 11 jul 2010 (CEST)

