Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
for ActivePerl 5.6.1 Build 630
竹迫です.
ご返事が遅くなり,申し訳ありません.
<palette@xxxxxxxxxxxxxxx> wrote:
> 11月1日に、ActivePerl 5.6.1 Build 630 がリリースされましたが
> (以下、B630 と略します)、これをインストールした後から Namazu
> 2.0.7 for Win32 をインストールすると(NMZSETUP.BATを実行すると)、
> 途中で止まってしまいます。Build 629 なら、問題なくインストール
> できます。B630 で止まるカ所は、NMZSETUP.BAT を実行後の、環境変数
> の書き込みをし、その後4つくらいのファイルを作成した後です。
岡部さん,早速のご報告どうもありがとうございました.
こちらでも ActivePerl 5.6.1 Build 630 をインストールして
検証してみました.このような報告はとても助かります.
# PPM v3 beta 2 が同梱されて,アーカイブの大きさが 12MB に膨らんでいますね.
> B630 でインストールできないという症状は、Windows98 と Windows Me
> の両方で確認しました。いずれも、B629 では全く問題なくインストール
> できます。
手元の環境で,ActivePerl の いくつかの build を試したところ,
NMZSETUP.BAT の実行結果は以下のようになりました.
-------------------+---------------+--
ActivePerl build | 522 629 630 |
-------------------+---------------+--
Windows 2000 Pro | 〇 〇 〇 |
Windows NT4.0 | 〇 〇 〇 |
Windows Me | 〇 〇 × |
Windows 95 | 〇 〇 × |
-------------------+---------------+--
〇 ... 正常終了
× ... セットアップ途中で停止する
どうやら,岡部さんのご報告通り,ActivePerl build 630 と
Win95系のOSの組み合わせにおいて,NMZSETUP.BAT が途中で
停止してしまう現象が発生するようです.
エラーを追跡してみたところ,system()関数を用いて
PL2BAT.BAT というバッチファイルを一度起動した後に
停止していました.
ActivePerl Build 630 の Bug Fixes and Changes を見ると...
<http://aspn.activestate.com/ASPN/Perl/Products/ActivePerl/Changes.html>
| * On Windows, system() and backticks behave more sanely with
| respect to whitespace in arguments. Any whitespace inside
| quoted arguments are correctly preserved. system() with
| multiple arguments also automatically quotes any arguments
| that contain whitespace by enclosing them in double-quotes,
| as necessary. This improves portability of the standard idiom
| of calling system() with multiple arguments.
となっていましたので,system()関数の内部処理が変更されて
しまっているのが,原因だと思われます.
とりあえず,この問題に対処した Namazu 2.0.7 for Win32 の
パッケージを用意いたしましたので,ActivePerl Build 630 に
おいて,NMZSETUP.BAT のインストール作業が中断してしまう場合は,
こちらのバイナリパッケージをお試しいただけると有難いです.
<http://namazu.org/~takesako/pub/nmz207fix1.exe>
<http://namazu.org/~takesako/pub/nmz207fix1.zip>
対処方法としては,NMZSETUP.BAT と PPM-INSTALL.BAT において,
バッチファイルを呼び出すときに call を先頭に付けて,
system()関数に実行コマンドの配列を引数として渡しています.
# もしかすると,自作の文書フィルタの中からバッチファイルを
# 起動している個所があるとすると,build 630 に対応させるため,
# 同様の対策が必要かもしれません.
次期リリース予定の Namazu 2.0.8(?) for Win32 では,
この問題に対処しておこうと思います.
どうも,ありがとうございました.
--
広島市立大学 情報科学部 情報機械システム工学科 知能ロボット講座
竹迫 良範 <takesako@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>