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 autocong executando o script configure com variáveis de ambiente adicionais.
Os exemplos a seguir se referem a um sistema AMD64 ou EM64T com x86 como segunda arquitetura:
Defina autoconf para usar o compilador de 32 bits:
CC="gcc -m32"
Instrua o linker a processar objetos de 32 bits:
LD="ld -m elf64_i386"
Defina o assembler para gerar objetos de 32 bits:
AS="gcc -c -m32"
Determine que as bibliotecas para libtool e as demais venham de /usr/lib:
LDFLAGS="-L/usr/lib"
Determine que as bibliotecas sejam armazenadas no subdiretório lib:
--libdir=/usr/lib
Determine que as bibliotecas X de 32 bits sejam usadas:
--x-libraries=/usr/X11R6/lib/
Nem todas essas variáveis são necessárias para todos os programas. Adapte-as para o respectivo programa.
CC="gcc -m64" \
LDFLAGS="-L/usr/lib64;" \
.configure \
--prefix=/usr \
--libdir=/usr/lib64
make
make install