LANDISK に emacs を入れる
[戻る]
LANDISK (HDL-160U) でメールが読みたいため, emacs を入れることにしました.
もしかして探せばあるのかもしれませんが, 基本的に私は仮想ルートは仮想環境で
普段は素の状態で使いたいので自分でコンパイルすることにしました.
以下にその手順を示します.
なお, 実行した LANDISK は過去に namazu のコンパイル も行ったことがあるので, もしかしたら完全に素の状態だと駄目かもしれません.
- ここを参考にセルフコンパイル環境を構築する.
- xutils_4.1.0-17.dodes.0_sh4.deb を入手・展開し xmkmf, imake をインストールする.
- canna のソース (例えば Canna-35b2.tar.gz) を入手し適当な所に展開する.
- ソースディレクトリに移動し 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
|
- dic/ideo/pubdic/pod.c を以下のように編集 (35b2 の場合, もしかして適当なパッチがあるのかもしれませんが...)
- (仮想ルートの) /usr/include に行き, 以下のコマンドを実行
# mv string.h string.hb
# mv strings.h strings.hb
# touch string.h
# touch strings.h
|
- 元のソースディレクトリに移動し, 以下のコマンドを実行
# xmkmf
# make Makefile
# make canna
# make install
|
- (仮想ルートの) /usr/include に行き, 以下のコマンドを実行
# mv string.hb string.h
# mv strings.hb strings.h
|
- こちらを参考に emacs のソースを
展開する.
- ソースディレクトリに移動して以下のコマンドを実行
./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 対応がなされてない. そこで事前に以下のような処理が必要です.
- configure ファイルの 900 行前後に以下のフレーズを追加
sh4-*-linux-gnu* )
machine=sh4 opsys=gnu-linux
;;
|
- config.guess ファイルの 640 行目前後に以下のフレーズを追加
shlelf_linux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
- config.sub ファイルに以下のフレーズを追加
165 行目前後 | "| sh4" を追加 |
196 行目前後 | "| sh4-*" を追加 |
- src/m/arm.h を src/m/sh4.h にコピー (arm.h
を選んだのに特に理由はありません. 勘で上手く動くかなと思ってやってみたところ
うまく行ってるようだというだけです. )
- さらに make all; make install を実行
- 仮想ルート上の /mnt/hda3/bin 上のファイルを実ルート上の /mnt/hda3/bin に
コピー (私は /mnt/hda3/vroot/mnt/hda3/bin を /mnt/hda3/bin にシンボリック
リンクで張ってます).
- /etc/services に以下の一行を追加
- どこからか termcap を持ってきて /etc にコピー
- /mnt/hda3/bin/usr/local/canna/lib 配下にある so ファイルと so.1 ファイル
を /usr/lib にコピー (cannaLibDir で指定しているくせにうまくいかない,
また so は so.1 へのシンボリックリンクなので単に cp すると無駄)
- /mnt/hda3/bin/usr/local/bin/emcws を /usr/bin/emacs にシンボリックリンク
- ホームディレクトリに .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)
|
- /mnt/hda3/bin/usr/local/canna/cannaserver を実行
/etc/rc.d/rc.local あたりで書くといいでしょう.
とまぁ結構大変なのでこちら
にバイナリ一式を置いておきます.
/mnt/hda3 の上で展開してください.
(また, 念のためtermcapも置いておきます).
この場合, 上記手順 13 からやればいいと思います.
ただし, 完全に無保証ですのでそのつもりで...
また,
ここに記載した文章や置いたバイナリは構築後に思い出しながら書いたものです.
忘れたけど何か行った手順とか, 実は必要だったけど未収録のファイルがあり,
うまく動かないかもしれません.
また逆に結局不必要だったけど記載している手順というのもあるかもしれません.
もっとも普通は
適当な rpm を持ってくるんでしょう. おそらくそっちの方がいいと思います.
ただ, 私の場合はできるだけ素の状態で動かしたかったので
/mnt/hda3 に入れられるバイナリが欲しかったのです.
2004.12