XEmacs 21.1のインストール

1. ソースを取ってこよう。
2. ソースの展開,そしてドキュメントへ。
3. 嗚呼,configureスクリプト。
4. Makefileを作ろう。
5. インストール,そして起動へ。

4. Makefileを作ろう。

configureスクリプトに指定するオプションも分かったことですし,いよいよMakefile を作ってみましょう。

その前に一言。僕は日本語入力にWnn6を使っているのですが, Wnn6をXEmacsで使用する場合はWnn6のsdkが必要になります。 CannaやWnn4.2はフリーソフトですので,これらをインストールすれば, ライブラリやヘッダーファイルもインストールされるはずです。ここで これらのライブラリやヘッダーファイルが置かれているディレクトリが

/usr/include,/usr/lib
/usr/local/include,/usr/local/lib
/usr/X11R6/include,/usr/X11R6/lib
/usr/include/X11,/usr/lib/X11

以外の場合は,そのディレクトリをconfigureスクリプトのオプションとして 指定する必要がありますので,覚えておいてください。Wnn6の場合は

/usr/lib/wnn6/sdk/sdk/include
/usr/lib/wnn6/sdk/sdk/lib

が,ヘッダーファイルとライブラリが置かれているディレクトリになる はずです。

後,コンパイル時に必要になるアドオンライブラリ(JPEGライブラリやTIFF ライブラリ等)が標準ではないディレクトリにインストールされている場合も configureスクリプトのオプションとして指定する必要がありますので, それらも覚えておいてください。

前置きが長くなりましたが,Makefileを作ってみましょう。 X-WindowのライブラリやCライブラリが標準のディレクトリにインストール されている場合の,configureスクリプトのオプションは以下のものに なります。

--site-includes=/usr/lib/wnn6/sdk/sdk/include
--site-libraries=/usr/lib/wnn6/sdk/sdk/lib
--with-mule
--with-wnn6
--with-xfs
--with-xim=no

--site-inculdes,--site-librariesには,それぞれみなさんの環境にあった ディレクトリを指定してください。--with-wnn6は僕の環境の場合であって, この部分も人によって--with-wnnになったり--with-cannaになったりする でしょう。このオプションは自動検出ですので,用いたいインプットメソッド を確実にするための保険のようなものです。--with-xim=noは明示的に指定して やらないと,XEmacsの起動時に「XOpenIM()がなんちゃら」という警告メッセージが 表示されてあまりうれしくないので,これも指定しておきましょう。 これらのオプションをconfigureスクリプトに渡してやればいいので

% ./configure --site-includes=/usr/lib/wnn6/sdk/sdk/include \
--site-libraries=/usr/lib/wnn6/sdk/sdk/lib \
--with-mule --with-wnn6 --with-xfs --with-xim=no

と,コマンドラインに入力します。実際に入力する場合は,上の`\'は無視して 全てのオプションを1行に書いてしまってかまいません。オプションを全て 指定したら,後はEnterキーを押して,configureスクリプトを実行します。 もし,5,6行のメッセージを表示してconfigureスクリプトが終了したら, サポートされていないオプションが指定されたために,configureスクリプトが 強制終了されたことを意味しますので,もう一度ミスタイプがないか確認 して,再度,configureスクリプトを実行してください。入力に間違いが 無い場合,configureスクリプトはシステムをチェックしてMakefileをはじめと する,XEmacsのコンパイルに必要なファイルの生成を開始します。再び コマンドラインが表示されるまではconfigureスクリプトまかせです。

コマンドラインが再度表示されれば,XEmacsのコンパイルに必要なファイルの 生成は終了しました。ターゲットディレクトリには`Installation'および `Installation.el'というファイルが新たに生成されているはずです。これら のファイルには,XEmacsのコンパイル時に使用されるライブラリや ディレクトリの情報が記述されています。僕の環境の場合だと,以下のような 内容になりました。

uname -a: Linux knight 2.2.6 #4 Sat Apr 17 15:33:03 CDT 1999 i686 unknown

configure '--site-includes=/usr/lib/wnn6/sdk/sdk/include' '--site-libraries=/usr/lib/wnn6/sdk/sdk/lib' '--with-mule' '--with-wnn6' '--with-xfs' '--with-xim=no'


XEmacs 21.1-p2 "20 Minutes to Nikko" configured for `i686-pc-linux'.

  Where should the build process find the source code?     /opt/xemacs/21.1/xemacs-21.1.2
  What installation prefix shold install use?     /usr/local
  What operation system and machine description files should XEmacs use?     `s/linux.h' and `m/intel386.h'
  What compiler should XEmacs be built with?     gcc -g -O3 -Wall -Wno-switch
  Should XEmacs use the GNU version of malloc?     yes
  (Using Doug Lea's new malloc from the GNU C Library.)
  Should XEmacs use the relocation allocator for buffers?     yes
  What window system should XEmacs use?     x11
  Where do we find X Window header files?     /usr/X11R6/include
  Where do we find X Window libraries?     /usr/X11R6/lib
  Additional header files:     /usr/lib/wnn6/sdk/sdk/include
  Additional libraries:     /usr/lib/wnn6/sdk/sdk/lib
  Compiling in support for XAUTH
  Compiling in support for XPM images.
  Compiling in support for PNG image handling.
  Compiling in support for (builtin) GIF image handling.
  Compiling in support for JPEG image handling.
  Compiling in support for TIFF image handling.
  Compiling in native sound support.
  Compiling in support for Berkley DB.
  Compiling in support for GNU DBM.
  Compiling in support for ncurses.   Compiling in Mule (multi-lingual) support.
    Using XFontSet to provide bilingual menubar.
  Compiling in support for the WNN input method on Mule.
    Using WNN version 6.
  Compiling in support for proper session-management.
  Using Lucid menubars.
  Using Lucid scrollbars.
  Using Motif dialog boxes.
  Compiling in DLL support.
  movemaiil will use "dot-locking" for locking mail spool files.
  Using Lisp_Objects with minimal tabgits.

みなさんのInstallationファイルもだいたいこんな感じになってると思います。 自動検出されたオプションで使いたくないものがあれば,そのオプションを 使わない設定にして,configureスクリプトを起動してください。
これでMakefileは作成されましたので,今度はXEmacsをコンパイルするのですが, そのまえにやっておかなければならないことがあります。それはLispパッケージ を指定されたディレクトリに展開しておいて置くことです。そうしないと, コンパイル時にLispパッケージのダンプが行えず,期待通りに動作してくれない と思います。デフォルトでは,Lispパッケージがインストールされるのは /usr/local/lib/xemacsですので,スーパーユーザになってLispパッケージ をインストールしましょう。< package path >はLispパッケージが 置かれているディレクトリを指しています。

% su
password: <スーパーユーザのパスワード入力>
# cd /usr/local
# mkdir xemacs
# cd xemacs
# gunzip < package path >/xemacs-sumo-< date >.tar.gz | tar xvf -
# gunzip < package path >/xemacs-mule-sumo-< date >.tar.gz | tar xvf -
# exit
%

これで,/usr/local/lib/xemacs以下にxemacs-packagesとmule-packagesという 2つのディレクトリが作成されたはずです。これで,XEmacsのコンパイルの 準備は全てととのいました。後はターゲットディレクトリ上で

% make

とするだけです。コンパイルの経過をファイルに書き込みたい場合は

bsh系の場合 % make > xemacs-install.log 2>&1
csh系の場合 % make >& xemacs-install.log

とすれば,xemacs-install.logというファイルにコンパイル結果が 書き込まれます。
(bsh系のリダイレクションはあまりよく知らないので,間違っている 場合は指摘してください。)

Witten by N.Takahashi