On Sep 17, 2005, at 11:44 PM, David Golden wrote:

Hello, gang. A couple comments based on copies of a couple of error files that Jim has sent me, as I'm the author of ExtUtils::ModuleMaker::TT.

First, from what I can see, I'm guessing that people were attempting to install ExtUtils::ModuleMaker::TT, which triggered an ExtUtils::ModuleMaker installation.


Aha! Now it becomes clear. I think an additional reason why this would trigger errors is that ExtUtils::ModuleMaker::TT is designed, IIRC, to work with v0.36 rather than v0.39. So, David, you will either have to do an Ingy-like 'use only' for TT, or you will have to bring it into conformity with EU::MM. But if you do the latter, you're probably better off waiting for v0.40, which I am trying to finish and upload today.

Second, the appearance of whitespace in "Documents and Setting" in both this and in Corion's failure report have me suspicious that it's a file-name issue.

t/13_alt_block_new_method.........Both .pm and .pm.hidden files found in /cygdrive/c/Documents and Settings/imacat/Application Data/cygwin/.modulemaker/ExtUtils/ModuleMaker/ExtUtils/ModuleMaker/ Personal: No such file or directory at t/testlib/Auxiliary.pm line 276

Tracing Auxiliary.pm back, I get to ExtUtils::ModuleMaker::Utilty and this snippet:

sub _identify_pm_files_under_mmkr_dir {
    my $mmkr_dir = shift;
    my $full_dir = "$mmkr_dir/ExtUtils/ModuleMaker/Personal";
    my @pm_files = glob("$full_dir/*.pm");
    my @pm_files_hidden = glob("$full_dir/*.pm.hidden");

If $mmkr_dir is coming in with whitespace, then I'm guessing that glob (which expands "like csh would do") is messing up -- perhaps giving up at the whitespace and thus returning the same value for both -- leading to the crash.

If so, then either the spaces need to be escaped, or the "short-form" directories need to be used on Win32, or something other than glob needs to be used. (E.g. File::Find)


Overnight, I thought about this more and was reaching a conclusion quite close to yours. While I've tested the distribution *many* times on a Win32 box -- indeed, much of the development took place on Win32 -- I don't think I can, at this point, write code that will guarantee that the distribution will pass 'make test' on *all* Win32 boxes (or Win32 based environments such as cygwin).

So I'm going to go into the packages and simply comment out all Win32-related code -- or, more precisely, any code/tests that is searching for a directory other than $ENV{HOME}. In the documentation I will state that functionality such as "make_selections_defaults()" should work on Win32 systems, but because I haven't outfoxed Windows in the testing process, I leave to the user the task of activating such functionality on Windows.

Hopefully, this will mean that it will pass its tests at testers.cpan.org and people will then have confidence in the distribution. Thank you for taking the time to research these problems.

Jim Keenan

Reply via email to