LANDISK に emacs を入れる

[戻る]

LANDISK (HDL-160U) でメールが読みたいため, emacs を入れることにしました. もしかして探せばあるのかもしれませんが, 基本的に私は仮想ルートは仮想環境で 普段は素の状態で使いたいので自分でコンパイルすることにしました. 以下にその手順を示します.

なお, 実行した LANDISK は過去に namazu のコンパイル も行ったことがあるので, もしかしたら完全に素の状態だと駄目かもしれません.

  1. ここを参考にセルフコンパイル環境を構築する.
  2. xutils_4.1.0-17.dodes.0_sh4.deb を入手・展開し xmkmf, imake をインストールする.
  3. canna のソース (例えば Canna-35b2.tar.gz) を入手し適当な所に展開する.
  4. ソースディレクトリに移動し Canna.conf を編集する.
    編集例
    cannaBinDir = /mnt/hda3/bin/usr/local/canna/bin
    cannaSrvDir = /mnt/hda3/bin/usr/local/canna/bin
    cannaLibDir = /mnt/hda3/bin/usr/local/canna/lib
    cannaManDir = /mnt/hda3/bin/usr/local/canna/man
    cannaIncDir = /mnt/hda3/bin/usr/local/canna/include/canna
    libCannaDir = /mnt/hda3/bin/usr/local/canna/lib
    INCROOT = /mnt/hda3/bin/usr/include
    
    ErrDir  = /var/spool/canna
    
  5. dic/ideo/pubdic/pod.c を以下のように編集 (35b2 の場合, もしかして適当なパッチがあるのかもしれませんが...)
  6. (仮想ルートの) /usr/include に行き, 以下のコマンドを実行
    # mv string.h string.hb
    # mv strings.h strings.hb
    # touch string.h
    # touch strings.h
    
  7. 元のソースディレクトリに移動し, 以下のコマンドを実行
    # xmkmf
    # make Makefile
    # make canna
    # make install
    
  8. (仮想ルートの) /usr/include に行き, 以下のコマンドを実行
    # mv string.hb string.h
    # mv strings.hb strings.h
    
  9. こちらを参考に emacs のソースを 展開する.
  10. ソースディレクトリに移動して以下のコマンドを実行
    ./configure \
    --prefix=/mnt/hda3/bin/usr/local \
    --without-x \
    --with-gcc \
    --with-canna \
    --with-canna-includes=/mnt/hda3/bin/usr/local/canna/include \
    --with-canna-libraries=/usr/lib
    

    なお, 最新の emacs では sh4 対応がなされているようだが, このページにある 20.7 では sh4 対応がなされてない. そこで事前に以下のような処理が必要です.

  11. さらに make all; make install を実行
  12. 仮想ルート上の /mnt/hda3/bin 上のファイルを実ルート上の /mnt/hda3/bin に コピー (私は /mnt/hda3/vroot/mnt/hda3/bin を /mnt/hda3/bin にシンボリック リンクで張ってます).
  13. /etc/services に以下の一行を追加
    canna           5680/tcp
    
  14. どこからか termcap を持ってきて /etc にコピー
  15. /mnt/hda3/bin/usr/local/canna/lib 配下にある so ファイルと so.1 ファイル を /usr/lib にコピー (cannaLibDir で指定しているくせにうまくいかない, また so は so.1 へのシンボリックリンクなので単に cp すると無駄)
  16. /mnt/hda3/bin/usr/local/bin/emcws を /usr/bin/emacs にシンボリックリンク
  17. ホームディレクトリに .emacs ファイルを作り, 以下のように書く
    (setup-japanese-environment)
    (load-library "canna")
    (canna)
    (set-buffer-file-coding-system 'euc-jp)
    (set-terminal-coding-system 'euc-jp)
    (set-keyboard-coding-system 'euc-jp)
    
  18. /mnt/hda3/bin/usr/local/canna/cannaserver を実行

    /etc/rc.d/rc.local あたりで書くといいでしょう.

とまぁ結構大変なのでこちら にバイナリ一式を置いておきます. /mnt/hda3 の上で展開してください. (また, 念のためtermcapも置いておきます). この場合, 上記手順 13 からやればいいと思います. ただし, 完全に無保証ですのでそのつもりで...

また, ここに記載した文章や置いたバイナリは構築後に思い出しながら書いたものです. 忘れたけど何か行った手順とか, 実は必要だったけど未収録のファイルがあり, うまく動かないかもしれません. また逆に結局不必要だったけど記載している手順というのもあるかもしれません.

もっとも普通は 適当な rpm を持ってくるんでしょう. おそらくそっちの方がいいと思います. ただ, 私の場合はできるだけ素の状態で動かしたかったので /mnt/hda3 に入れられるバイナリが欲しかったのです.


2004.12