Um bei einer Doppelarchitektur Binärdateien für die jeweils andere Architektur zu entwickeln, müssen die entsprechenden Bibliotheken für die zweite Architektur zusätzlich installiert werden. Diese Pakete heißen rpmname-32bit. Außerdem benötigen Sie die entsprechenden Header und Bibliotheken aus den rpmname-devel-Paketen und die Entwicklungsbibliotheken für die zweite Architektur aus rpmname-devel-32bit.
Die meisten Open Source-Programme verwenden eine autoconf-basierte Programmkonfiguration. Um mit autoconf ein Programm für die zweite Architektur zu konfigurieren, überschreiben Sie die normalen Compiler- und Linker-Einstellungen von autoconf, indem Sie das Skript configure mit zusätzlichen Umgebungsvariablen ausführen.
Das folgende Beispiel bezieht sich auf ein x86_64-System mit x86 als zweiter Architektur.
Verwenden Sie den 32-Bit-Compiler:
CC="gcc -m32"
Weisen Sie den Linker an, 32-Bit-Objekte zu verarbeiten (verwenden Sie stets gcc als Linker-Frontend):
LD="gcc -m32"
Legen Sie den Assembler für die Erstellung von 32-Bit-Objekten fest:
AS="gcc -c -m32"
Geben Sie die Linker-Flags an, wie zum Beispiel den Standort von 32-Bit-Bibliotheken:
LDFLAGS="-L/usr/lib"
Geben Sie den Standort für die 32-Bit-Objektcode-Bibliotheken an:
--libdir=/usr/lib
Geben Sie den Standort für die 32-Bit-X-Bibliotheken an:
--x-libraries=/usr/lib
Nicht alle diese Variablen werden für jedes Programm benötigt. Passen Sie sie an das entsprechende Programm an.
CC="gcc -m32" LDFLAGS="-L/usr/lib;" ./configure --prefix=/usr --libdir=/usr/lib --x-libraries=/usr/lib make make install