3MIPSマシンのためのNemacs構築ガイド
Last Updated 1999/03/21
 

386マシンや68030のマシンでも、NemacsとCannaを使えば、本当に快適な環境になります。
しかし、FreeBSD2.2.Xでは、普通のパッチを使ってもNemacsのコンパイルがなかなか通りません。
そこで、FreeBSDでNemacsをコンパイル&インストールした例を説明します。
あっ、CannaはFreeBSDのpkgのCanna3.2をそのまま使います。 お試しあれ。

OpenBSDの場合は、またの機会に....。



>>Nemacsの作り方

FreeBSD2.2.5に、Canna版Nemacsをインストールする方法を説明します。

  • Nemacs3.3.2 を用意します。それから、Canna用パッチとFreeBSD用移植パッチも用意します。

  • Nemacs3.3.2のソースコードが nem332.tar.gz、Canna用パッチがnemcanna.tar.gz(Nemacs-canna.patch.tar.gz)、FreeBSD用移植パッチがnem332fr.gz(Nemacs-3.3.2-freebsd-patch.gz)です。
    nem332.tar.gz(nemacs-3.3.2.tar.gz) は ちょっと大きいので、ここには置きません。ftpサイトから取ってきてください。
    nemcanna.tar.gzとnem332fr.gzをtarで固めたものはこちらです。
    適当なディレクトリに3つのファイルを置いて始めます。

    %tar xvfz nem332.tar.gz
    %tar xvfz nemcanna.tar.gz
    %cp -r emacs24/{lisp,man,src} nemacs3.3.2/
    %zcat nem332fr.gz > nem332fr.patch
    %cd nemacs-3.3.2
    %patch -p1 < ../nem332fr.patch
    %cd src
    %patch < canna.patch
    %cd ..
     

  • src/nconfig.hに次の2行を追加します。場所は、27行目付近の「#undef EGC」の次行あたりに。

  • %vi src/nconfig.h
    << 追加 >> 28行目付近
    #define CANNA
    #define CANNA2
  • インストール先を変更します。

  • %vi Makefile
    << 変更前 >> 16行目付近
    LIBDIR= /usr/local/emacs
    << 変更後 >>
    LIBDIR= /usr/local/lib/emacs

    << 変更前 >> 60行目付近
    -rm -f ${BINDIR}/emacs
    mv ${BINDIR}/xemacs ${BINDIR}/emacs
    << 変更後 >>
    -rm -f ${BINDIR}/nemacs
    mv ${BINDIR}/xemacs ${BINDIR}/nemacs

    Makefileを変更すると、make実行時にsrc/paths.hが自動的に更新されるので、次の変更は不要のはずです。もし、うまくいかなかった場合、次の変更を行います。
    %vi src/paths.h
    << 変更前 >>
    4個所の"/usr/local/emacs/・・・・"の記述を、

    << 変更後 >>
    "/usr/local/lib/emacs/・・・・"にします。4個所ともです。
     

  • Canna関連のディレクトリを指定し直します。

  • %vi src/nconfig.h
    << 変更前 >> 50行目付近
    #ifdef CANNA
    #define LIBCANNA /usr/local/canna/lib/libcanna.a
    #endif /* CANNA */

    << 変更後 >>
    #ifdef CANNA
    #define LIBCANNA /usr/local/lib/libcanna.a
    #endif /* CANNA */

    %vi src/ymakefile
    << 変更前 >> 167行目付近
    CFLAGS= C_DEBUG_SWITCH -Demacs $(MYCPPFLAGS) C_SWITCH_MACHINE C_SWITCH_SYSTEM

    << 変更後 >>
    CFLAGS= C_DEBUG_SWITCH -Demacs $(MYCPPFLAGS) C_SWITCH_MACHINE C_SWITCH_SYSTEM -I/usr/local/include

  • FreeBSD 2.2.X でコンパイルする時には、次の変更が必要です。-traditionalでコンパイルしているのに、const をびしばし使っているのが原因で、コンパイルに失敗します。そこで、constを無効にする作業を行います。
  • %vi  src/s-freebsd.h

    << 追加 >>  最終行
    #define const
    %vi  src/filelock.c
    %vi  src/fileio.c
    %vi  src/dired.c
    %vi  src/filemode.c
    %vi  src/lread.c
    << 変更 >>  6個のファイル共、最初に出てくる #include 文の前に
    #include "config.h"
    を追加します。すでに、"config.h"を使っている場合は、コメントにします。

    例えば、
    << filelock.c の変更前 >>
    #include <sys/types.h>
    #include <sys/stat.h>
    #inlcude "config"
    #include "lisp.h"
    ・・・・・

    << filelock.c の変更後 >>
    #inlcude "config"
    #include <sys/types.h>
    #include <sys/stat.h>
    /* #inlcude "config" */
    #include "lisp.h"
    ・・・・・
     

  • 最後に、不要なフラグ(X window は使わない)をコメントにします。それから、-gのデバッグオプションをoffにします。

  • %vi src/config.h
    << 変更前 >>
    #define HAVE_X_WINDOW

    << 変更後 >>
    /* #define HAVE_X_WINDOW */
     

    %vi src/m-intel386.h
    << 追加 >>  最終行
    #define C_DEBUG_SWITCH
  • makeを実行します。

  • %make
    %su
    #make install


    >>Cannaの作り方

    FreeBSDであれば、パッケージのCanna3.2をそのまま使ってください。
    OpenBSDの場合でも、FreeBSD用のソースコードを使って、そのままコンパイルできるはずです。

  • ソースコードを展開し、パッチをあてます。
  • %cd /usr/local/src
    %tar xvfz $(CDROM)/rensai/FreeBSD/org-src/Canna32p2.tar.gz
    %cd Canna32p2
    %patch -p1 < $(CDROM)/rensai/FreeBSD/patch/canna-patch
  • インストール先を変更します。
  • %vi  Canna.conf
  • コンパイルです。
  • %xmkmf; make Makefile; make canna
    %su
    #make install; make install.man
  • ポート番号を予約します。
  • #vi  /etc/services
    canna 5680/tcp
  • OSのブート時に、cannaserverが起動するようにします。
  • #vi  /usr/local/etc/rc.d/canna.sh
    if [ -f /usr/local/sbin/cannaserver ]; then
        rm -f /var/run/canna/Canna.pid
        /usr/local/sbin/cannaserver > /dev/null
        echo -n ' Canna.' 
    fi
     


    << 参考資料 >>
    ・記事: UNIX USER 1996.9 p108
    ・記事: UNIX USER 1995.8 p105
    ・CD-ROM: UNIX USER  1996.9 vol.30


    >>PocketBSD用 Canna版Nemacs mini-package

    PocketBSD用に Canna版Nemacs3.3.2のミニパッケージを作成しました。
    Canna3.2のパッケージは、たつろーさんが作成されていますので、そちらを使ってください。

    ja-nemacs-canna-3.3.2.mini.tar.gz
    ・・・ emacs本体と、最小限のファイル達。

    ja-nemacs-el.tar.gz
    ・・・ etcの下の全el(メモリカードに余裕があれば、入れてください)。elispコマンドのソースです。

    ja-nemacs-info.tar.gz
    ・・・ info関連のファイル(メモリカードに余裕があれば、入れてください)。これを入れると、M-x info の操作で、オンラインドキュメントが閲覧できます。

    ja-nemacs-doc.tar.gz
    ・・・ etc/DOC関連のファイル(メモリカードに余裕があれば、入れてください)。これを入れると、M-x describe-function の操作で機能の説明が表示されます。

    たつろーさんのページ
    ・・・ Canna3.2のミニパッケージが置いてあります
     

    Canna のパッケージと ja-nemacs- のパッケージを pkg_add xxxxx して、PocketBSDを再起動するだけで、そのまま使えます。
    それから、/usr/local/lib/emacs/etcに「sample.emacs」というファイルを入れておきました。
    「~/.emacs」設定の参考に、どうぞ。
     

    おまけ
    /usr/local/lib/emacs/etcに「NEMACS.tut」も入れておきました。これさえあれば、Nemacsが初めてという人も、3日もあればエキスパート?になれます。
     
    Errata

    1999.3.21.
    ja-nemacs-canna-3.3.2.mini.tar.gzの中の sample.emacsを変更しました。
    変更前:(set-kanji-input-code "euc") --- EUCを指定
    変更後:;(set-kanji-input-code "jis") --- コメントアウト。デフォルトでは、jis(のはず)。
    これで、メニューキーがメタキーとして使えます。
    おわり :-)
     

    作成:1999.2.4.

    [Topページへ戻る]

    (c) 1999 Shigeki Yahaba, All rights reserved.