Actualizando gcc 3.3 a 3.4 que ya es hora...
Lo haremos usando revdep-rebuild.
Necesitamos que primero instalar gentoolkit. Luego actualizaremos GCC y cambiaremos al nuevo compilador. También hay que recompilar el paquete libtool para garantizar que toolchain esta correctamente.
Instalamos gentoolkit y actualizamos gcc
# emerge -an gentoolkit
# emerge -uav gcc
# gcc-config i686-pc-linux-gnu-3.4.5
# source /etc/profile
Recompilamos libtool
# emerge --oneshot -av libtool
Estamos usando como variable de entorno CHOST="i686-pc-linux-gnu". Si estas usando otro CHOST, completa la línea apropiada de gcc-config.
Bueno ahora vamos a recompilar revdep-rebuild . Esto puede tomar algo de tiempo, asà que te da tiempo ha venir a la reunion previa a las jornadas.
# revdep-rebuild --library libstdc++.so.5 -- -p -v
# revdep-rebuild --library libstdc++.so.5
Si tienes problemas por paquetes antiguos o enmascarados, usa la opción --package-names de revdep-rebuild.Yo en micaso he necesitado usarlo y casi todos supongo...
Para tener compatibilidad con aplicaciones binarias antiguas en C++ y cualquiera de los paquetes que revdep-rebuild puede haberse saltado, el paquete sys-libs/libstdc++-v3 tiene que instalarse antes de desinstalar gcc 3.3 .
Instalamos libstdc++-v3 y desinstalamos gcc 3.3
# emerge --oneshot sys-libs/libstdc++-v3
# emerge -aC =sys-devel/gcc-3.3*
Es posible que te de alguno fallito como el sonado de los drivers de ATI que soluciona de la siguiente manera:
# cd /usr/src/linux && make && make modules_install
# modules-update
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/[tuk kernel]
# emerge ati-drivers
Si te da el mensaje de error spec failure: unrecognized spec option mientras actualizas tapate la nariz y tirate al agua, puedes intentar volver al compilador anterior, deshabilita la variable de entorno GCC_SPECS y actualiza nuevamente GCC:
# gcc-config 1
# source /etc/profile
# unset GCC_SPECS
# emerge -uav gcc