#
Last-modified: Wednesday, 02-Apr-2003 02:11:59 JST
[
トップページ/
いとしの liza (SL-C700 のページ)/
Mutt と仲間たち/
ウクレレ日記
]
2003-04-01 ♪きむらかずし kimu*st.rim.or.jp
Mutt と仲間たちを公開し、 LinuxZaurus での Mutt ユーザが増えはじめたかな〜と思ったら、 mutt 1.4 のセキュリティ問題で zaurus-ja での公開がとりやめになってしまいました。 これを機会に、セキュリティ強化版 mutt 1.4.1 に、 日本語パッチ mutt-1.4.1i-ja.1 を当てた mutt を作ってみることに。 日本語パッチの拡張機能で、より文字化けに強くなったり、 添付ファイル名の日本語表示等が可能になるはず。
しかしこれがまたイバラの道だったのです……。
ふつーの UNIX っぽく /usr/local 以下につくりました。 なので zaurus-ja 版と平行運用も可能です。 ユーザ設定である ‾/.mutt/muttrc は共通で使えます。
mutt-1.4.1i-ja.1-liza-exec.tar.gz
-rwxr-xr-x root/root 737020 2003-03-31 23:33 usr/local/bin/mutt lrwxrwxrwx root/root 0 2003-03-29 14:15 usr/local/lib/libiconv.so -> libiconv.so.2.1.0 lrwxrwxrwx root/root 0 2003-03-29 14:15 usr/local/lib/libiconv.so.2 -> libiconv.so.2.1.0 -rw-r--r-- root/root 893852 2003-04-01 14:37 usr/local/lib/libiconv.so.2.1.0 -rw-r--r-- root/root 2476 2003-04-01 14:14 usr/local/etc/Muttrc -rw-r--r-- root/root 722 2003-03-29 05:53 usr/local/etc/mutt-ja.rc
すみません、 SL-C700 を 1 台しか持っていないので、これだけでインストール できるかどうか検証していません (^^;
$ su # cd / # tar zxvf mutt-1.4.1i-ja.1-liza-exec.tar.gz 以下は共有ライブラリ libiconv を認識させるおまじない。 # vi /etc/ld.so.conf /lib /usr/lib /home/QtPalmtop/lib /usr/local/lib ↑最後の一行を追加する。 # ldconfig -v
ちゃんとまとめる時間がないので、とりあえずメモだけ公開します。 かなり適当なので、恐いと思った人は自分で作り直した方がいいでせう。
*** gcc セルフ開発環境のマウント $ vi /usr/local/bin/mountdev #!/bin/sh mount -o loop,rw -t cramfs /mnt/card/dskimg/dev_img-1.3 /usr/local/dev $ su # mountdev *** swap swap は合計 64MB 程度、用意したい。 *** 共有ライブラリの位置に /usr/local/lib を追加 # vi /etc/ld.so.conf /usr/local/lib ↑追加 以降、ライブラリを追加したら、下記のを実行のこと。 # ldconfig -v *** TMP を SD カードに設定 gcc が使う一時領域を SD カードにもってゆく。 $ mkdir /mnt/card/tmp $ vi .bashrc TMP=/mnt/card/tmp export TMP ↑追加 *** /tmp を 3MB にする gcc 以外のスクリプト等が /tmp を溢れさせることがあるので、 # cd /root/etc/rc.d # mount -o remount,rw / # cp rc.rofilesys rc.rofilesys-orig # vi rc.rofilesys :1,$s/1m/3m/ 再起動すると... /tmp が置かれる /dev/shm が 3072 KB になっている。 *** /usr/local/include を用意する 各種ライブラリの make install がうまくゆかないので、 include を外に。 # cd /usr/local # rm include ←シンボリックリンクを削除 # cp -pr /usr/local/dev/include . *** Mutt を救おう計画 317588 Mar 28 07:40 m4-1.4.tar.gz 549386 Mar 28 07:07 automake-1.7.3.tar.bz2 → automake-1.4-p6 入れ直し 811439 Mar 28 07:06 autoconf-2.57.tar.bz2 300461 Mar 28 01:10 mutt-manual_ja-1.4i-1.tar.gz 80251 Mar 28 01:10 mutt-1.4.1i-ja.1.tar.gz 2599487 Mar 28 01:10 mutt-1.4.1i.tar.gz 1092233 Mar 28 01:08 slang-1.4.5jp2.tar.gz *** Mutt 依存関係 mutt -> automake -> autoconf -> GNU m4 *** GNU m4-1.4 ./configure make make check した? make install strip /usr/local/bin/m4 *** GNU autoconf-2.57 $ ./configure $ make 標準的な perl のモジュールが必要。 *** perl 5.6.1 の標準的なモジュールを追加 perl-5.6.1 の ipk をインストールすると、 /usr/lib/perl/5.6.1 /usr/share/perl/5.6.1 にモジュール群が入る。 サーチパスに含まれるのに、 /usr/local/lib/perl/5.6.1 は存在しない。 perl-5.6.1.tar.gz より lib/ だけをひっぱり出し、SD カード /mnt/card/work/perl-5.6.1-lib に置いた。 # mkdir /usr/local/lib/perl # ln -s /mnt/card/work/perl-5.6.1-lib 5.6.1 *** autoconf つづき $ make $ make check 一部、エラーが出るが無視。。。 # make install *** automake-1.7 $ ./configure $ make $ make check ... PASS: autohdr2.test PASS: auxdir.test XFAIL: auxdir2.test PASS: backsl.test ... PASS: cond16.test XFAIL: cond17.test ... PASS: cond28.test FAIL: condd.test PASS: condinc.test ... PASS: extra6.test FAIL: extra7.test PASS: flibs.test と一部エラーが出るが無視。 # make install *** aclocal-1.4 mutt の configure は automake-1.4 を要求するので... *** automake-1.4-p6 $ ./configure $ make $ make check ... FAIL: cond5.test ... FAIL: error.test ... ===================== 2 of 194 tests failed ===================== make[2]: *** [check-TESTS] Error 1 make[2]: Leaving directory `/usr/mnt.rom/card/work/automake-1.4-p6/tests' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/usr/mnt.rom/card/work/automake-1.4-p6/tests' make: *** [check-recursive] Error 1 テストでエラーは出るけど... # make install *** mutt-1.4.1 $ vi kimu ./configure --with-libiconv-prefix=/usr/local ¥ --without-wc-funcs ¥ --with-slang=../slang-1.4.5jp2 ¥ --enable-default-japanese $ sh -f kimu # mkdir /usr/local/etc # cp Muttrc mutt-ja.rc /usr/local/etc # vi /usr/local/etc/Muttrc ... mutt-ja.rc を読み込むように path を変更 ... color 設定をコメントに。そのままだと画面がめちゃくちゃに。 *** S-Lang 1.4.5jp2 configure にて awk を使っているので mawk でごまかす。 # cd /usr/local/bin # ln -s mawk awk $ ./configure $ make # make install $ pwd /home/zaurus/wo/slang-1.4.5jp2/src/objs $ ls -l *a -rw-r--r-- 1 root root 3003546 Mar 29 18:06 libslang.a # cd /usr/local/lib # strip libslang.a # ls -l libslang.a -rw-r--r-- 1 root root 331756 Mar 29 21:26 libslang.a *** libiconv-1.8 $ vi ABOUT-NLS ... autodetect するには、内蔵された GNU gettext を使う? $ ./configure --with-included-gettext ... ... hecking for string.h... yes checking for setlocale... yes test: Out of space ←これはいったい... not updating unwritable cache /dev/null configure: creating ./config.status config.status: creating Makefile config.status: creating lib/Makefile config.status: creating config.h $ make check # make install ... ... if test -n "libiconv_plug.so"; then ../autoconf/install-sh -c -m 644 libiconv_plug.so /usr/local/lib/libiconv_plug.so.new && mv /usr/local/lib/libiconv_plug.so.new /usr/local/lib/libiconv_plug.so ; fi /usr/local/lib/#inst.12467#: No such file or directory make[1]: *** [install] Error 1 make[1]: Leaving directory `/usr/mnt.rom/card/work/libiconv-1.8/lib' make: *** [install] Error 2 ここで止まるので、 iconv.h がインストールされなかった?! *** mutt-1.4.1 こっちにも --with-included-gettext オプションを。 $ vi kimu ./configure --with-libiconv-prefix=/usr/local ¥ --without-wc-funcs ¥ --with-included-gettext ¥ --with-slang=../slang-1.4.5jp2 ¥ --enable-default-japanese $ sh -f kimu $ make $ ./mutt -y ... だめだ... ちなみに、 $ ls -l mutt -rwxr-xr-x 1 zaurus qpe 2308307 Mar 30 00:20 mutt $ ldd mutt libm.so.6 => /lib/libm.so.6 (0x40022000) libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x40050000) libc.so.6 => /lib/libc.so.6 (0x40132000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) *** mutt と iconv わかった!! /usr/local/include/iconv.h が、 GNU libiconv-1.8 のものではなかった。 # cd /usr/local/include # mv iconv.h iconv.h-old # cp -p ‾/wo/libiconv-1.8/include/iconv.h . $ cd ‾/wo/mutt-1.4.1 $ rm Makefile $ cat kimu ./configure --with-libiconv-prefix=/usr/local ¥ --without-wc-funcs ¥ --with-included-gettext ¥ --with-slang=../slang-1.4.5jp2 ¥ --enable-default-japanese $ sh -f kimu $ make $ ./mutt -y *** mutt 仮インストール # pwd /usr/mnt.rom/card/work/mutt-1.4.1 # cp -p mutt /usr/local/bin # cd /usr/local/bin # ls -l mutt -rwxr-xr-x 1 zaurus qpe 2311375 Mar 31 23:43 mutt # strip mutt # ls -l mutt -rwxr-xr-x 1 zaurus qpe 737020 Apr 1 08:33 mutt # chown root:root /usr/local/bin/mutt *** zaurus-ja 版 mutt との比較 $ mutt -v Mutt 1.4i (2002-05-29) Copyright (C) 1996-2001 Michael R. Elkins and others. Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'. Mutt is free software, and you are welcome to redistribute it under certain conditions; type `mutt -vv' for details. System: Linux 2.4.18-rmk7-pxa3-embedix (armv5l) [using ncurses 4.2] Compile options: -DOMAIN -DEBUG -HOMESPOOL -USE_SETGID -USE_DOTLOCK -DL_STANDALONE +USE_FCNTL -USE_FLOCK +USE_POP +USE_IMAP -USE_GSS -USE_SSL -USE_GNUTLS -USE_SASL +HAVE_REGCOMP +USE_GNU_REGEX +HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET +HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM -HAVE_PGP -BUFFY_SIZE -EXACT_ADDRESS -SUN_ATTACHMENT +ENABLE_NLS -LOCALES_HACK -COMPRESSED -HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR +HAVE_ICONV -ICONV_NONTRANS +HAVE_GETSID +HAVE_GETADDRINFO ISPELL="/usr/bin/ispell" SENDMAIL="/usr/sbin/sendmail" MAILPATH="/var/mail" PKGDATADIR="/opt/QtPalmtop/mutt/share/mutt" SYSCONFDIR="/opt/QtPalmtop/mutt/etc" EXECSHELL="/bin/sh" -MIXMASTER To contact the developers, please mail to <mutt-dev@mutt.org>. To report a bug, please use the flea(1) utility. patch-1.3.28.cvs.indexsegfault patch-1.3.27.bse.xtitles.1 patch-1.3.26.appoct.3 patch-1.3.15.sw.pgp-outlook.1 patch-1.4.admcd.gnutlsbuild.53d patch-1.4.admcd.gnutlsdlopen.53d patch-1.4.admcd.gnutls.53d Md.use_editor Md.paths_mutt.man Md.muttbug_no_list Md.use_etc_mailname Md.muttbug_warning Md.gpg_status_fd patch-1.4.0.cd.edit_threads.9.2 patch-1.3.24.rr.compressed.1 patch-1.3.23.1.ametzler.pgp_good_sign $ ./mutt -v Mutt 1.4.1i-ja.1 (2003-03-19) Copyright (C) 1996-2002 Michael R. Elkins and others. Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'. Mutt is free software, and you are welcome to redistribute it under certain conditions; type `mutt -vv' for details. System: Linux 2.4.18-rmk7-pxa3-embedix (armv5l) [using slang 10405] Compile options: -DOMAIN -DEBUG -HOMESPOOL -USE_SETGID -USE_DOTLOCK -DL_STANDALONE +USE_FCNTL -USE_FLOCK -USE_POP -USE_IMAP -USE_GSS -USE_SSL -USE_SASL +HAVE_REGCOMP -USE_GNU_REGEX +HAVE_COLOR -HAVE_START_COLOR -HAVE_TYPEAHEAD -HAVE_BKGDSET -HAVE_CURS_SET -HAVE_META -HAVE_RESIZETERM +HAVE_PGP -BUFFY_SIZE -EXACT_ADDRESS -SUN_ATTACHMENT +ENABLE_NLS -LOCALES_HACK -HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR +HAVE_ICONV -ICONV_NONTRANS +HAVE_GETSID -HAVE_GETADDRINFO -ISPELL SENDMAIL="/usr/sbin/sendmail" MAILPATH="/var/mail" PKGDATADIR="/usr/local/share/mutt" SYSCONFDIR="/usr/local/etc" EXECSHELL="/bin/sh" -MIXMASTER To contact the developers, please mail to <mutt-dev@mutt.org>. To report a bug, please use the flea(1) utility. patch-1.4.1.tt.ja.1