Biarch 平台的軟體編譯

若要在 biarch 架構上,為其他結構開發二進位程式,必須為第二個結構額外安裝相關程式庫。這些套件稱為 rpmname-32bit。您也需要 rpmname-devel 套件的個別標頭和程式庫,以及 rpmname-devel-32bit 第二個架構的開發程式庫。

大部份開放原始碼程式使用的程式組態是以 autoconf 為基礎。若要使用 autoconf 為第二個結構設定程式,請覆寫 autoconf 的一般編譯器和連結器設定,方法是執行包含其他環境變數的 configure 程序檔。

以下範例,將 x86 的 x86_64 系統指示為第二個架構:

  1. 使用 32 位元編譯器:

    CC="gcc -m32"
  2. 指示連結器處理 32 位元物件 (務必使用 gcc 做為連結器前端工具):

    LD="gcc -m32"
  3. 設定組合器來產生 32 位元物件:

    AS="gcc -c -m32"
  4. 指定連結器旗標,例如 32 位元程式庫的位置︰

    LDFLAGS="-L/usr/lib"
  5. 指定 32 位元目標代碼程式庫的位置︰

    --libdir=/usr/lib
  6. 指定 32 位元 X 程式庫的位置︰

    --x-libraries=/usr/lib

並非每一個程式都需要所有這些變數。將它們配合各程式使用。

CC="gcc -m32"
LDFLAGS="-L/usr/lib;"
./configure --prefix=/usr --libdir=/usr/lib --x-libraries=/usr/lib
make
make install