章 1. 安裝 GNUstep

GNUstep 支援主要的 Unix/Linux/FreeBSD 平台. 在這裡以 FreeBSD 4.8 做示範. 可參考其他安裝範例.

這裡是使用 GCC 3.2 為例. GCC 3.x 對 Objective-C 有完整支援, 強烈建議使用 GCC 3.x.

下載 Source Code

gnustep.org 可以下載所有的程式碼, 或是自行去 ftp.gnustep.org 找 (在 /pub/gnustep/core 中). 習慣使用 CVS 的人可以使用 CVS 下載最新的程式碼. CVS 的目錄結構與自行下載的不太一樣, 但很容易找到.

強烈建議安裝 WindowMaker. WindowMaker 是 GNUstep 內定的視窗管理員. 許多顯示的功能在 WindowMaker 中才正常.

GNUstep 需要許多外部程式庫, 包含 ffcall (version d), gmake, gmp, openssl, XML2 等, 需要先安裝完成.

安裝 GNUstep-make


CC=gcc32 ./configure --prefix=/usr/local/GNUstep (CC 指定 gcc 版本, --prefix 指定安裝 GNUstep 的目錄) 
gmake
gmake install
gmake distclean

其中 /usr/local/GNUstep 是最常用的, 沒有需要再改. 因為 FreeBSD 內含的 make 不是 GNU make, 所以要使用 gmake 而不是常見的 make, 這一點與 Linux 不同. 在 FreeBSD 下使用 GNUstep 時都要用 gmake 才行.

gcc32 是 GCC 3.2 在 FreeBSD 上的名稱, 用 gcc32 -v 就可以查出版本編號. 使用其他作業系統的請自行查明 GCC 3.x 的主程式名稱. 以下有用到 ./configure 時都是比照辦理, 記得加上 CC=gcc32.

要了解 GNUstep 是否有找到已安裝好的程式, 可以在使用 ./configure 時注意檢查的結果, 或是使用


./configure &> outfile

將 ./configure 的結果轉到 outfile 檔, 再檢查 outfile 的內容. 例如使用 gcc32 時, 應該有 "checking for gcc... gcc32".

裝好之後看看 /usr/local/GNUstep 中應該就有東西了. 這時在自己的 ~/.profile 中加上:


GNUSTEP_ROOT=/usr/local/GNUstep
export GNUSTEP_ROOT
source /usr/local/GNUstep/System/Makefiles/GNUstep.sh

.profile 是給 bash 用的, 使用 csh/tcsh 者需使用  GNUstep.csh, 並在 .cshrc 或是相關檔案中修改. 這幾行很簡單, 就是設好 GNUSTEP_ROOT 這個環境變數. 然後每次 login 時執行 GNUstep.sh, 會設定好所有相關的環境變數. 重新 login, 讓這些環境變數更新.

安裝 GNUstep-base


CC=gcc32 ./configure
gmake
gmake install

安裝 GNUstep-gui


CC=gcc32 ./configure
gmake
gmake install

安裝 GNUstep-back

目前 GNUstep 支援數種後端 (Backend), 內定的是 x11/xlib. 另一個則是 x11/backart. libart/freetype 對圖形及字型的管理較 xlib 好, 因此建議使用. 要先安裝 libart 及 freetype 才行 (可參考 libart/freetype 的相關說明).

安裝好 libart 及 freetype 之後執行:


CC=gcc32 ./configure --enable-graphics=art
gmake
gmake install

如果想使用 xlib, 改執行 ./configure --enable-graphics=xlib 即可.

安裝字型

backart 自行管理字型, 而不使用 Xwindow 所提供的字型, 所以需要再安裝自行才行. 字型可以在這裡取得. 下載之後, 在 /usr/local/GNUstep/Library/Fonts 中解開即可. xlib backend 則使用 Xwindow 提供的字型. xlib backend 並支援 Xft 及 FontConfig.

GNUstep 服務 (Service)

要執行 GNUstep 程式前, 必需先執行 gdomap, gdnc, 及 gpbs. 這些是常註程式, 只要執行一次即可. 如果嫌每次開機都要執行這些程式很煩麻, 可以自行在開機檔中加入這些程式, 這裡有範例. 要注意的是 gpbs 一定要在 Xwindow 後執行, 否則會產生 core dump (但不影響其正常功能), 所以可以寫在 .xinitrc.xsession 中.

使用 GNUstep 程式

GNUstep 的安裝很簡單. 一般使用 gmake; gmake install 即可. 要執行程式時則使用 openapp 程式名 即可. 例如在 GNUstep-example 中有個文字編輯器, Ink. 使用 >gmake; gmake install 安裝, 使用 openapp Ink執行.