7.3. Compilation de logiciels sur des plates-formes biarch (à double architecture)

Pour développer des programmes binaires pour la seconde architecture d'une architecture double (biarch), vous devez installer en plus les bibliothèques correspondant à cette seconde architecture. Ces paquetages sont appelés rpmname-32bit. Vous avez également besoin des en-têtes et des bibliothèques respectives des paquetages rpmname-devel, ainsi que des bibliothèques de développement de la seconde architecture issues de rpmname-devel-32bit.

La plupart des programmes « Open Source » utilisent une configuration des programmes basée sur la commande autoconf. Pour utiliser autoconf pour configurer un programme pour la seconde architecture, écrasez les paramètres normaux du compilateur et de l'éditeur de liens de la commande autoconf en exécutant le script configure avec d'autres variables d'environnement.

L'exemple suivant fait référence à un système AMD64 ou EM64T avec x86 comme seconde architecture :

  1. Paramétrez autoconf pour utiliser le compilateur 32 bits :

    CC="gcc -m32"
  2. Donnez l'instruction à l'éditeur de liens de traiter des objets 32 bits :

    LD="ld -m elf64_i386"
  3. Paramétrez l'assembleur pour générer des objets 32 bits :

    AS="gcc -c -m32"
  4. Indiquez que les bibliothèques pour libtool et autres sont issues du répertoire /usr/lib :

    LDFLAGS="-L/usr/lib"
  5. Indiquez que les bibliothèques sont stockées dans le sous-répertoire lib :

    --libdir=/usr/lib
  6. Indiquez que ce sont les bibliothèques X 32 bits qui sont utilisées :

    --x-libraries=/usr/X11R6/lib/

Ces variables ne sont pas toutes requises pour chaque programme. Adaptez-en l'utilisation selon le programme.

CC="gcc -m64"            \
LDFLAGS="-L/usr/lib64;"  \
        .configure       \
          --prefix=/usr  \
          --libdir=/usr/lib64
make
make install