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:
Haga que autoconf utilice el compilador de 32 bits:
CC="gcc -m32"
Indique al enlazador que procese objetos de 32 bits:
LD="ld -m elf64_i386"
Configure el ensamblador de forma que genere objetos de 32 bits:
AS="gcc -c -m32"
Determine que el origen de las librerías para
libtool, etc. sea /usr/lib:
LDFLAGS="-L/usr/lib"
Determine que las librerías se copien al subdirectorio
lib:
--libdir=/usr/lib
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.