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