[Mew-Win32 02600] Im doesn't work on my new environment

Motohiko Minakuchi zxcv at example.com
2000年 5月 28日 (日) 14:31:42 JST


水口@京都 と申します。

いつもお世話になり、ありがとうございます。

昨日久し振りに Mew+IM のバージョンアップをしようとしたら、うまくできま
せん。 前回の Mew/IM バージョンアップ後にはいろんなものをバージョンアッ
プしています。 当面は Mew/IM のバージョンアップを見送ることで凌げるの
ですが、不安なので質問をさせて頂きたいと思います。

以下、私のつまづきの記録です。私はできないことをやろうとしているのでしょ
うか? Mewがインストールできる状態に復元するには、どうすればいいのでしょ
うか?
断片的でも構いませんのでご教示をお願いしたいと思います。サブジェクトを
内容に即したものに変えて頂いても構いません。

長文になります。また、私は平日にあまり時間を取れないので、お返事を頂い
ても反応が遅くなるかも知れません。合せてご容赦ください。


前回の Mew/IM バージョンアップは、リリース直後の Mew1.94.2pre2 と
IM130 で、im.exe, mew.exe を使用して成功したつもりでいます。
当時の環境は Win98 + Meadow1.10 + CygwinB20.1 + PL5404W0.ZIP です。
Meadow には山口さんの temacs-1.11b1 を使用させて頂いています。
Perl は C:/Perl にインストールし、IM は C:/Perl/bin, C:/Perl/lib/IM に
インストールされました。


その後、Cygwin のB20.1 を消して 1.1 をインストールしました。
WindowsUpdate も行ったかも知れません。(記録、とってませんm(_r_)m)
この時点では、Mew1.94.2pre2+IM130 の動作に異常はありません。
gdb の動作に問題があるので、Cygwinのスナップショットの追っかけをしてい
ます。


昨日、Perl を perl-5.6.0-RC1-cygwin1.1 に入れ替え、続いて IM-140 をイ
ンストールしようとしたら、つまづいてしまいました。
#正式サポートが ActivePerl なのは承知していますが、使えるという噂を聞
#いた気がして、トライしてみました。

Cygwin1.1 は c:/ にインストールしたので、Perl も素直に c:/usr/local 下
に入れ、古い Perl のある c:/Perl を c:/Perl.del にリネームしました。

MS-DOSプロンプト ウィンドウで IM140W0.ZIP を展開したフォルダーから
im.exe を起動するとクラッシュしてしまいます。

im -v -d で見ると、添付1の様に
> INI file = [Y:\SRC\EMACS\MEW\IM-140\im.ini]
の行が最後に表示されています。
im.ini や レジストリの [HKEY_LOCAL_MACHINE\SOFTWARE\Mew\Perl] に新しい
Perl に応じた設定をしても状況は変りません。
このときのPATHは
    C:\WINDOWS;C:\WINDOWS;C:\WINDOWS\COMMAND;C:\USR\BIN;
    C:\USR\MEADOW\1.10\BIN;C:\USR\LOCAL\BIN
です。C:\USR\BIN には Cygwin バンドルのコマンドのうちMeadowから起動さ
れるものと cygwin1.dll が入っています。
インストーラのソースも眺めてみましたが、猫に小判ならぬ「ヘボユーザーに
ソース」状態でした。m(_r_)m


次に、Makefile.PL を試してみましたが、Cygwin1.1 の make を使用したせい
かうまくいきません。


最後に試したのは、configure です。
bash から ./configure を実行すると、添付2の様にエラーになります。確か
に、Cドライブ中には confdefs.h も syscall.h も存在しません。
configure のエラーを無視して make install を強行するとインストールはで
きますが、実行すると、
    "c:/USR/BIN/bash.exe"-2.04$ perl c:/usr/local/bin/imls
    Undefined subroutine &Win32::IsWinNT called at \
         /usr/local/lib/perl5/site_perl/5.6.0/IM/Util.pm line 52.
という有様です。


さすがにこの時点で Cygwin版Perlの使用を断念して c:/Perl ディレクトリを
復活させ、PATH、レジストリ、im.ini を PL5404W0用に復元しました。
Cygwin版Perl を削除してはいませんが、/usr/local/bin/perl より先に
/perl/bin/perl が検出される様PATHを設定しました。

これにより、旧Perl+IM-130が復活し、動作する様になりました。
しかし、それでも IM-140 の im.exe がクラッシュしてしまいます。

Mew1.94.2 の mew.exe も同様にクラッシュします。

さらに、前回成功している IM-130 の im.exe までクラッシュしてしまいまし
た。
成功時との環境の相異点をまとめると、

1 Cygwin バージョン変更(B20.1=>1.1.1) と付随するディレクトリレイアウト
  変更
2 Cygwin版Perl を /usr/local から消していない
3 WindowsUpdate を行ったかも知れない

というところです。


このままではMewのバージョンアップができず、緊急では無いものの深刻な事
態です。

P.S.
Mew1.94.2 の Makefile は、ターゲットディレクトリの変更をすることで 
ELisp モジュールのインストールはできるものの .exe のサフィックス問題の
解決が困難です。
#cp  は賢くなった install にすり替えればいいのですが、ln,mv 等がやっか
#いです。
                                                  よろしくお願いします。
--
水口 元彦 (みなくち もとひこ)
zxcv at example.com
-------------- next part --------------
/− im -d -v のログ出力 ここから−−−−−−−−−−−−−−−\
IM installer for Win32  Version 0.6.3
          Copyright (C) 1997-1999  Shuichi Kitaguchi
Operating System = [Windows 95 Version 4.10 ( Build 1998 )]

HomeDir=[e:\home\mina]
ConfDir=[e:\home\mina\.im]
ConfFile=[e:\home\mina\.im\Config]

>>INI ファイルを読み込んでいます...
INI file = [Y:\SRC\EMACS\MEW\IM-140\im.ini]
\−−−−−−−−−−−−−−ここまで−−−−−−−−−−−−−−/

/−−−−−−クラッシュ情報 ここから−−−−−−−−−−−−−−−\
IM のページ違反です。
モジュール : IM.EXE、アドレス : 015f:004033bd
Registers:
EAX=00000000 CS=015f EIP=004033bd EFLGS=00010246
EBX=00000000 SS=0167 ESP=0064f244 EBP=00000001
ECX=00000000 DS=0167 ESI=0040ceb4 FS=449f
EDX=00000014 ES=0167 EDI=0040d574 GS=0000
Bytes at CS:EIP:
88 18 bf 60 d5 40 00 83 c9 ff 33 c0 f2 ae f7 d1 
Stack dump:
0040d560 0000005c 00000000 00000018 00000411 00000000 0064f271 7273752f 636f6c2f 622f6c61 702f6e69 006c7265 78652e6c 13460065 000034d7 0064b296 
\−−−−−−−−−−−−−−ここまで−−−−−−−−−−−−−−/
-------------- next part --------------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:563: checking for a BSD compatible install
configure:622: checking host system type
configure:645: checking for gcc
configure:758: checking whether the C compiler (gcc  ) works
configure:774: gcc -o conftest    conftest.c  1>&5
configure:800: checking whether the C compiler (gcc  ) is a cross-compiler
configure:805: checking whether we are using GNU C
configure:814: gcc -E conftest.c
configure:833: checking whether gcc accepts -g
configure:865: checking how to run the C preprocessor
configure:886: gcc -E  conftest.c >/dev/null 2>conftest.out
configure:963: checking for perl
configure:1004: checking for site_perl
configure:1030: checking for chmod
configure:1071: checking for mkdir
configure:1112: checking for rm
configure:1153: checking for mv
configure:1194: checking for sed
configure:1231: checking for DB type
configure:1265: checking for sys/syscall.h
configure:1275: gcc -E  conftest.c >/dev/null 2>conftest.out
configure:1271: sys/syscall.h: No such file or directory
configure: failed program was:
#line 1270 "configure"
#include "confdefs.h"
#include <sys/syscall.h>
configure:1332: checking OS type
configure:1353: checking for ssh
configure:1389: checking domain for mail-address


Mew-win32 メーリングリストの案内