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>