江端レガシー戦略 (Mule 編) Ver0.0 2002/07/23 江端智一 2年の米国赴任を経て日本に帰ってきてみると、予想通り、環境ががらっと 変っていました。 いや、日本が変わった訳ではなく、日本のパソコンのOSの環境。 マイクロソフトは、相変わらず何がセールスポイントなのか分からん「XP」 なるOSを出しているし、Linuxもカーネルがまるまる2つも上がってしまってい る始末です。 カーネルのバージョンが上がるのは、一向に構わんのですが、その上に乗っ かる使い慣れたアプリケーションが動かなくなるという現象が困るのです。 いや。 正確に言うと、これも違うな。 ----- はっきり言いまして、私は、もう新しいツールの学習やらインストールはし たくないのです。 フリーソフトのワーキンググループが、日々研鑽を重ね、その機能をアップ することは、とても素晴しいことですが、それに追いついていかねばならぬ、 こっちの頭の程度と体力を考えて欲しいのです。 ワーキンググループが、バージョンアップすることは結構です。 と言うか、それこそが、ワーキンググループの存在意義と言っても良いでしょ う。 しかし、 - 最新のOSの利用を前提とし、 - 聞いたこともないライブラリやアプリケーションのインストールを 必要とし、 - 予告なしにインターフェースを変更され、 - 昨日まで使っていたプログラムが全滅する、 てな悲惨な状況にも関わらず、一日という膨大な時間をかけて「バージョンアッ プ」そのものを楽しんでいられたのは、時間と体力がある若者の娯楽です。 結局、たった一つのツールやアプリケーションを使いたい為だけに、せっせ とメンテナンスを続けてきたPCの環境を全部放棄して、ディスクをクリアにし た挙げく、最新のディストリビューションから最新OSの入れ換えをしなければ ならない「バージョンアップ」について行くのは、もう面倒です。 ----- 一般に、フリーソフトのワーキンググループは、レガシーのソフトのメンテ ナンスなんぞに目もくれません。 彼等は、いつでも新しい魅力的な技術に取り組もうとして燃えていますが、 新バージョンを古いOSに対応させたり、古いバージョンを新しいOSに対応させ たり、古いバージョンでのバグ取りのような、辛気くさい仕事は、断じてしま せん。 そういうことができるのは、メンテナンス料と称して、半端でないお金を毎 年、開発メーカに上納しているユーザ企業だけです。 # で、日立には、MS-DOSのアプケーションのサポート部隊が残っていたりす # る、と。 無報酬で働いている彼等が、そんな楽しくもない仕事に注力するはずがあり ません。 なぜ、私はそのようなことを堂々と断言できるのでしょうか。 なぜなら、私がそうしているからです。 私は、私の使っているパソコンのOSの上でしか動作を保証しないものを作っ て、オープンソースのソフトとして公開していますが、私がOSを換えた後のそ のソフトの動作については、平気で見捨てます。 だって、そういうサポートしても、私には別に嬉しくなですから。 そして、決め手は、いつでもこの言葉です。 「ソースコードを全部公開しているんだから、自分でなんとかしてくれ」 ----- 私は、既存の莫大なソース資産を守るために、以下の江端レガシーソフトの ガイドラインを定めました。 Emacs のバージョンは、終生 19.28 から上げない。 - 今後未来のEmacsの新機能、新lispの恩恵は断念する。 - Skk version 8.6, Mew 1.94.1 を死ぬまで使い倒すことと する。 - Windowsがどれだけバージョンアップを続けようとも、 Mule for Windows のコンパイルを続けて、OSに追従する ようにする。 - Linuxもemacs20に移らず、muleのソースのメンテで対応す る。 ----- ところが、ワーキンググループが手を投げた古いバージョンを新しいOSに対 応させるのは、半端な努力ではありません。 どっちが楽かと言えば、新しいバージョンをインストールした方が、時間的 には早かったりします。 過去の資産 + 勉強時間 + インストール時間を加味したトータルコストから、 ほんのちょっとだけ、レガシー戦略が勝っている、と言う判断です。 で、今回、私はXPへMule for Windowsをインストールしようとしたのですが、 大方の予想通り、見事に転けました。 コンパイルの環境も良く分からず、後僚のWakiに泣きついたところ、大阪に 日帰り出張をしている間に解決してくれました。 Wakiのような優秀な人材が近くにいる内は、レガシー戦略を続けることがで きそうです。 Mule for Windows XP 編 ~~~~~~~~~~~~~~~~~~~~~~ Wakiです。 机の上を見たところ、XPマシンが見あたらなかったので、出張に持って行か れたのかと思い、ご自宅のアドレスにもメールを出しております。 あやしいのですが、とりあえずコンパイル+インストールまでたどり着ける 方法の一つを以下に示します。 1. Visual C++を用意する コマンドラインからcl, link, rcなどが使えるようにしてください。 2. Mule2.3Win32-W122-src.tar.gzを適当なフォルダに展開する (ここではc:\tempの下に展開するものとします) 3. mule2\nt\makefile.defを編集する 20,59行目、 # mod. for BCC 5.01J 97/01/13 by Y.Matsushima という行の上に INSTALL_DIR = c:\mule など、MuleforWin32をインストールしたいフォルダ名を定義した 行を挿入します。 4. Visual C++がインストールされているディレクトリに半角スペースが 含まれる場合、mule2\lib-src\makefile.ntを編集する(474行目) $(BLD)\progdlg.res: \ $(SRC)\progdlg.rc $(RC) /i$(INCLUDE) /fo$(BLD)\progdlg.res $(SRC)\progdlg.rc を $(BLD)\progdlg.res: \ $(SRC)\progdlg.rc $(RC) /i"$(INCLUDE)" /fo$(BLD)\progdlg.res $(SRC)\progdlg.rc ^ ^ とします。/iオプションで指定する追加パスの前後にダブルクォーテーションを 入れているだけです。 5. コンパイルする > cd c:\temp\mule2\nt > nmake -f makefile.nt all 警告メッセージが鬼のように表示されますが、最後までコンパイルされます。 6. ファイルをコピーする > nmake -f makefile.nt install 3で定義したフォルダ以下へ関連ファイルがコピーされます。 7. dump.batをねつ造する 8のインストールで必要なdump.batが見あたらないので、以下の内容のファイルを 3で定義したフォルダ下にbin\dump.batという名前で作成します。 c:\muleにインストールするのであれば、ねつ造するファイルへのフルパスは c:\mule\bin\dump.batとなります。 ***** ここから ***** @echo off set emacs_dir= del mulent.exe md obj cd obj md etc md i386 cd i386 set EMACSPATH=%emacs_dir%\bin copy ..\..\temacs.exe . copy ..\..\..\etc\DOC-X ..\etc\DOC-X copy ..\..\..\etc\CODINGS ..\etc\CODINGS temacs -batch -l loadup dump move emacs.exe ..\..\mulent.exe cd ..\.. echo y | rd /S obj ***** ここまで ***** 8. インストールする 3で定義したフォルダへ移動した後 > install .emacsの置かれているフォルダをたずねられるので適当なフォルダ名を 入力します。 あとは勝手にインストールしてくれます。 Mule for Linux 2.4 through RedHat 7.2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (T.B.D.)