compilar_sistema_base_anterior

1 minuto(s) de lectura

No es fácil devolverse a una versión anterior del sistema a partir de las fuentes, sin embargo nos ha servido:

Compilar librerias basicas para la version anterior, quedarán en /usr/lib pero no serán usadas por los binarios

Compilar y poner kernel anterior. Reiniciar con ese

Remplazar librerías mínimas de /usr/lib por versiones anteriorees compiladas en paso 1 libc.so, libpthread y libiberty. (por ejemplo cp /usr/lib/libc.so.77.0 /usr/lib/libc.so.77.2

Compilar e instalar todo base con make -j4 build (seguirá referenciando versiones nuevas de libc)

Reiniciar pero en modo single borrar librerías con version reciente libc y libpthread (libiberty no puede borrarse aun), al continuar ld.so se verá forzado a usar versión con numeración un poco anterior pero que corresponde a la compilada en paso 1. Borrar otras librerías recientes (e.g libressl, libsqlite3, libcrypt).

Volver a compilar todo base, el encadenador tendrá que usar las librerías disponibles.

Reiniciar, ya deben usarse librerías compiladas en punto 1.

Editar /usr/bin/{as,ld,ar,ranlib} y modificar versión de libiberty para que corresponda a la que queda.

Borrar libiberty con numeración reciente.

Desde /usr/src/gnu/usr.bin/ ejecutar make -j4 clean all install

Compilar xenocara. En 5.6

make build

Falla una librería por falta de un archivo que borra, pero esta en repositorio CVS. Después de cvs -z3 co, compilar esa

Compilar todas las librerias cd ..; make -j4

En ocasiones sirve pasar al directorio que falla, dar gmake distclean y después make -f Makefile.bsd-wrapper

Compilar todo: cd ..; make -j4

Para compiladr kdrive borrar antes xserver/config.status y compilar desde directorio kdrive

Tras compilar kdrive continuar cd ..; make -j4

Actualizado: