Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Sat, 16 Jul 2005 12:27:11 -0700 (PDT) From: Andrew Ho X-X-Sender: andrew AT shell02 DOT corp DOT tellme DOT com To: "Gerrit P. Haase" Cc: cygwin AT cygwin DOT com Subject: Re: 1.5.18: Perl regression tests fail when lib directory is present In-Reply-To: <42D8D5F3.9060307@familiehaase.de> Message-ID: References: <42D8D5F3 DOT 9060307 AT familiehaase DOT de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed 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 AT tellme DOT 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/