¿Cómo puedo construir un.bit de 32 bits(i386) en una caja de 64 bits?
ubuntu 32bit-64bit (3)
Tengo aplicaciones que compilan exitosamente con el interruptor -m32 (en DMD y / o GCC) para producir:
appname: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 2.6.15, not stripped
Los paquetes de origen que he creado funcionan bien, en Ubuntu de 32 y 64 bits para construir los .debs binarios apropiados.
Me gustaría producir el i386 .deb en la misma máquina de 64 bits que utilizo para producir el .deb de 64 bits.
¿Es esto posible, y dónde debo buscar instrucciones?
Comienza con llamar a debuild con la opción -ai386, que cambiará la arquitectura para la que se construyó el paquete.
Por supuesto, debe asegurarse de que el paquete contenga la compilación i386 de la aplicación.
La respuesta depende de la complejidad de su construcción. Cuando las herramientas normales de 64 bits son suficientes para una compilación, simplemente especifique la arquitectura a través de -a
debuild -ai386
Sin embargo, a menudo hay casos en los que esto no funciona, y en estos casos necesitará pbuilder. pbuilder construye un sistema Debian / Ubuntu limpio en un entorno chroot-ed. man pbuilder
es una buena introducción. Para empezar, necesitarás:
sudo pbuilder --create --architecture i386
sudo pbuilder --build mypackage.dsc
No haces nada diferente a construir un .deb de 64 bits. Excepto que incluya una compilación de 32 bits de su aplicación.
El archivo de control especifica la arquitectura, así que asegúrese de seleccionar la correcta.