7.3. Compilação de software em plataformas biarch

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:

  1. Defina autoconf para usar o compilador de 32 bits:

    CC="gcc -m32"
  2. Instrua o linker a processar objetos de 32 bits:

    LD="ld -m elf64_i386"
  3. Defina o assembler para gerar objetos de 32 bits:

    AS="gcc -c -m32"
  4. Determine que as bibliotecas para libtool e as demais venham de /usr/lib:

    LDFLAGS="-L/usr/lib"
  5. Determine que as bibliotecas sejam armazenadas no subdiretório lib:

    --libdir=/usr/lib
  6. 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