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
# 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 *
# 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)