Para desenvolver binários para outra arquitetura em uma arquitetura biarch, as respectivas bibliotecas da segunda arquitetura devem ser instaladas adicionalmente. Esses pacotes são chamados de rpmname-32bit. Você também precisará dos respectivos cabeçalhos e bibliotecas dos pacotes rpmname-devel e das bibliotecas de desenvolvimento para a segunda arquitetura de rpmname-devel-32bit.
A maioria dos programas de código-fonte aberto usa uma configuração de programa baseada em autoconf. Para usar o autoconf com o objetivo de configurar um programa para a segunda arquitetura, sobregrave as configurações do compilador normal e do linker de autoconf executando o script configure com variáveis de ambiente adicionais.
O exemplo a seguir refere-se a um sistema x86_64, cuja segunda arquitetura é x86.
Use o compilador de 32 bits:
CC="gcc -m32"
Instrua o linker a processar objetos de 32 bits (use sempre gcc como o front end do linker):
LD="gcc -m32"
Defina o assembler para gerar objetos de 32 bits:
AS="gcc -c -m32"
Especifique flags do linker, como o local das bibliotecas de 32 bits, por exemplo:
LDFLAGS="-L/usr/lib"
Especifique o local das bibliotecas de código objeto de 32 bits:
--libdir=/usr/lib
Especifique o local das bibliotecas X de 32 bits:
--x-libraries=/usr/lib
Nem todas essas variáveis são necessárias para todos os programas. Adapte-as para o respectivo programa.
CC="gcc -m32" LDFLAGS="-L/usr/lib;" ./configure --prefix=/usr --libdir=/usr/lib --x-libraries=/usr/lib make make install