1.5.18: Perl regression tests fail when lib directory is present
Andrew Ho
andrew@tellme.com
Sat Jul 16 19:27:00 GMT 2005
Hello,
Thanks for the quick and complete reply!
I checked environment variable settings and they don't appear to be at
fault. First, I tried this:
% /usr/bin/env -i PATH=/usr/bin perl Makefile.PL
% /usr/bin/env -i PATH=/usr/bin make
% /usr/bin/env -i PATH=/usr/bin make test
This still breaks. A similar test using this command:
% perl -e ' %ENV = (PATH => "/usr/bin");
system("perl", "Makefile.PL");
system("make");
system("make", "test"); '
Also fails. I next checked my list of Windows environment variables, and
here is the summary. First the set listed as "user variables" (all three
contain path values with spaces):
PATH
TEMP
TMP
And my "system variables" (OCCAMLLIB, which I guess the OCAML installer
snuck in on me, and Path are the only two variables containing path
values with spaces in them):
ComSpec
FP_NO_HOST_CHECK
NUMBER_OF_PROCESSORS
OCAMLLIB
OS
Path
PATHEXT
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
TEMP
TMP
windir
I don't think there are any LIB type variables here, although I'm not
intimately familiar with the guts of MakeMaker on Windows. Neither I nor
the co-worker who had the same problem have VC++ installed.
Did you try to run "make test" on the TestModule.tar.gz that I linked to?
I'm curious to see if that simple case fails (it contains both a "working"
and "broken" version, the latter has the module in a "lib" subdirectory).
And is it possible you already had Lingua::EN::Inflect installed on your
test system?
Humbly,
Andrew
----------------------------------------------------------------
Andrew Ho andrew@tellme.com
Staff Engineer 650-930-9062
Tellme Networks, Inc. http://www.tellme.com/
----------------------------------------------------------------
On Sat, 16 Jul 2005, Gerrit P. Haase wrote:
> Andrew Ho wrote:
>> Hello,
>>
>> It appears that on the latest version of Cygwin's Perl, Perl modules with
>> regression tests (for example, ones you can download from CPAN) fail "make
>> test" on every other test. I did some experimentation and this appears to
>> happen only if the modules are in a subdirectory (typically "lib") rather
>> than in the install root.
>>
>> How to reproduce:
>>
>> * Upgrade to latest versions of all Cygwin packages (probably
>> Perl is the only relevant one)
>>
>> * Download any CPAN module (or create a Perl module) whose files
>> are in a "lib" subdirectory. Lingua::EN::Inflect is an arbitrary
>> example of one that is unlikely to be already installed.
>>
>> * Run through the usual Perl install steps:
>> perl Makefile.PL && make && make test
>>
>> * Observe that "make test" fails on every other test (odd numbered
>> runs, apparently).
>>
>> I have reduced this breakage to the smallest possible test case:
>> http://www.zeuscat.com/andrew/src/TestModule.tar.gz
>
> No problems here with Lingua::EN::Inflect, cannot reproduce it. Maybe
> you have some non Cygwin environment settings? It happens to be a known
> problem that MakeMaker passes the VC++ environment setting for LIB
> through to the Makefile and most of the time it fails to compile because
> it is a path in LIB with non quoted backslashes or even worse a path
> including spaces.
>
>
> $ perl Makefile.PL
> Checking if your kit is complete...
> Looks good
> Writing Makefile for Lingua::EN::Inflect
>
> $ make
> cp demo_NO.pl blib/lib/Lingua/EN/demo_NO.pl
> cp demo_eq.pl blib/lib/Lingua/EN/demo_eq.pl
> cp demo_PL.pl blib/lib/Lingua/EN/demo_PL.pl
> cp demo_inflect.pl blib/lib/Lingua/EN/demo_inflect.pl
> cp demo_NUM.pl blib/lib/Lingua/EN/demo_NUM.pl
> cp lib/Lingua/EN/Inflect.pm blib/lib/Lingua/EN/Inflect.pm
>
> $ make test
> /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib',
> 'blib/arch')" t/*.t
> t/classical_all..........ok
> t/classical_ancient......ok
> t/classical_ancient_1....ok
> t/classical_herd.........ok
> t/classical_herd_1.......ok
> t/classical_names........ok
> t/classical_names_1......ok
> t/classical_person.......ok
> t/classical_person_1.....ok
> t/classical_zero.........ok
> t/classical_zero_1.......ok
> t/inflections............ok
> All tests successful.
> Files=12, Tests=1413, 10 wallclock secs ( 7.47 cusr + 1.87 csys = 9.34 CPU)
>
>
>
>> For some reason, this doesn't appear to break modules that are tested under
>> the CPAN shell ("make test" passes for modules built that way).
>
> Another hint that there may be some unusual environment setting?
>
>
>> The Perl package is 5.8.7-2. Here is the output of uname -srm:
>>
>> CYGWIN_NT-5.1 1.5.18(0.132/4/2) i686
>>
>> I and my co-workers have reproduced this on several different computers, all
>> running Windows XP.
>
> I am on XP here too, don't know if it matters, I tested Lingua::.. at
> the same machine where the latest perl release was compiled.
>
>
>
> Gerrit
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list