7.3. Kompilace softwaru pro jinou platformu

Pro vývoj binárních souborů pro jinou platformu je nutné nainstalovat příslušné knihovny pro tuto druhou platformu. Tyto balíčky se nazývají jmenorpm-32bit. Můžete také potřebovat hlavičky a knihovny z balíčků jmenorpm-devel a vývojové knihovny pro druhou platformu z jmenorpm-devel-32bit.

Většina opensource programů používá konfiguraci založenou na autoconf. Chcete-li použít autoconf pro konfiguraci programu pro druhou architekturu, přepište normální nastavení spuštěním skriptu configure s přidanými proměnnými prostředí.

Následující příklad se vztahuje k AMD64 či EM64T systému s x86 jako druhou architekturou:

  1. Nastavte autoconf k použití 32-bitového kompilátoru:

    CC="gcc -m32"
  2. Přikažte linkeru zpracovávat 32-bitové objekty:

    LD="ld -m elf64_i386"
  3. Nastavte assembler, aby vytvářel 32-bitové objekty:

    AS="gcc -c -m32"
  4. Určete, že knihovny pro libtool atd. jsou v /usr/lib:

    LDFLAGS="-L/usr/lib"
  5. Určete, že jsou knihovny uloženy v podadresáři lib:

    --libdir=/usr/lib
  6. Určete, že jsou používány 32-bitové X knihovny:

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

Ne všechny proměnné jsou potřeba pro každý program. Upravte je podle potřeby.

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