ActivePerl::Config::find_prog #2
前のエントリでは,ActivePerl/Config.pm にパッチを当てていたけど,
The problem is that Module::Install adds 'inc/Module/Install' to the @INC in its load_extensions method. On Windows we end up loading Config_heavy.pl here which loads ActivePerl::Config and ActiveState::Path. ActiveState::Path contains this statement:
use base 'Exporter';so Perl ends up trying to load 'base.pm'. Since the Windows file system is case insensitive and Module::Install has added 'inc/Module/Install' to @INC this ends up loading inc/Module/Install/Base.pm instead of the base pragma. The result is that ActiveState::Path doesn't inherit from Exporter as it should and the import of find_prog() in ActivePerl::Config fails silently.
と Gisle が言っていて,これが問題だったのかということで ActiveState/Path.pm にパッチを当ててみた.
--- Path.pm.orig Sat Oct 01 01:31:16 2005 +++ Path.pm Fri Apr 07 10:24:37 2006 @@ -2,9 +2,10 @@ use strict; -our $VERSION = '0.02'; +our $VERSION = '0.02_1'; -use base 'Exporter'; +require Exporter; +our @ISA = qw(Exporter); our @EXPORT_OK = qw(path_list find_prog is_abs_path abs_path join_path rel_path unsymlinked realpath); use constant IS_WIN32 => $^O eq "MSWin32";
ActivePerl/Config.pm を元に戻してもエラーが出ないようになったので,ひとまず解決の流れかな.
ところで,これ結構はまる人いそうな気がするんだけど,検索しても(ただし,Google 日本語検索)1人しか見つけられなかった.こんなパッチ当てておけば,Plaggerも入るかもしれませんよー.