Você precisa de duas coisas para compilação cruzada: um compilador que pode gerar código para a arquitetura de destino e as bibliotecas estáticas ( *.a
) para a arquitetura de destino. Instale pelo menos o libc6-dev-i386
e possivelmente outros lib32.*-dev
packages . O libc6-dev-i386
também extrai os componentes do gcc necessários para a compilação cruzada no gcc-multilib
package . Em seguida, informe ao gcc para compilar o i386 passando o flag -m32
pela variável CFLAGS
.
sudo apt-get install libc6-dev-i386 lib32ncurses5-dev … # whatever 32-bit libraries you need
export CFLAGS='-m32'
./configure …
Se você não encontrar todas as bibliotecas necessárias, provavelmente será mais fácil instalar um Ubuntu de 32 bits em um chroot . O Ubuntu envia dchroot do projeto buildd do Debian , o que torna a execução de um sistema chrooted fácil. Use debootstrap paraexecutarainstalação.Háum