6.3. Compilación de software en plataformas Biarch

Para compilar en una arquitectura Biarch binarios para la arquitectura contraria, es preciso instalar las librerías correspondientes de la arquitectura adicional. Los paquetes necesarios se denominan rpmname-32bit. Además se requieren las cabeceras y librerías que se encuentran en los paquetes rpmname-devel así como las librerías de desarrollo de la segunda arquitectura que se encuentran en rpmname-devel-32bit.

La mayoría de los programas Open Source utilizan una configuración basada en autoconf. La utilización de autoconf para la configuración de un programa basado en la segunda arquitectura sólo funciona sobreescribiendo los ajustes normales de compilador y enlazador (efectuados por autoconf) con aquellos realizados por el script configure con variables de entorno adicionales.

El siguiente ejemplo se refiere a un sistema AMD64 y EM64T con x86 como segunda arquitectura:

  1. Haga que autoconf utilice el compilador de 32 bits:

    CC="gcc -m32"
  2. Indique al enlazador que procese objetos de 32 bits:

    LD="ld -m elf64_i386"
  3. Configure el ensamblador de forma que genere objetos de 32 bits:

    AS="gcc -c -m32"
  4. Determine que el origen de las librerías para libtool, etc. sea /usr/lib:

    LDFLAGS="-L/usr/lib"
  5. Determine que las librerías se copien al subdirectorio lib:

    --libdir=/usr/lib
  6. Defina que se utilicen las librerías X de 32 bits:

    --x-libraries=/usr/X11R6/lib/

No se necesitan todas las variables para todos los programas. Adáptelas de acuerdo a sus necesidades.


SUSE LINUX Manual de administración 9.3