Sender: rich AT phekda DOT freeserve DOT co DOT uk Message-ID: <3E26FF18.E84C129C@phekda.freeserve.co.uk> Date: Thu, 16 Jan 2003 18:51:04 +0000 From: Richard Dawe X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.23 i586) X-Accept-Language: de,fr MIME-Version: 1.0 To: djgpp-workers AT delorie DOT com Subject: Re: perl 5.8.0 from w2k test site problems References: <3E26F3A4 DOT 3000401 AT mif DOT vu DOT lt> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Hello. Laurynas Biveinis wrote: > Perl scripts in autoconf / automake fail with errors like: > > Can't locate strict.pm in @INC (@INC contains: > /dev/env/DJDIR/share/automake-1.7 > /dev/env/djdir/lib/perl5 /dev/env/djdir/lib/perl5/site > /dev/env/djdir/lib/perl5/site c:/dj204/lib/perl5/site .) at > /dev/env/DJDIR/share/automake-1.7/Automake/Struct.pm line 31./ > > Lowercase /dev/env/djdir surely is wrong; also hardcoded path c:/dj204 > looks suspicious. How could it be fixed? This might be the case-sensitivity bug that I found in the handling of %ENV. Maybe the patch below will help. It's against Perl 5.6.1, but I doubt the code has changed that much. I think Perl 5.8.0 needs a bit of work, before it's considered to work OK. When I tried the test suite there were a lot more failures than I saw with Perl 5.6.1. One test seemed to hang. (I can't remember which.) The number of failures may just be due to the fact that the more stuff is tested. I also tested with a fresh tarball of 5.8.0, rather than Andrew's packages, so maybe I missed some patches there. HTH. Bye, Rich =] -- Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ] diff -pu3r perl561s.orig/gnu/perl.561/perl.c perl561s/gnu/perl.561/perl.c --- perl561s.orig/gnu/perl.561/perl.c 2001-10-06 13:45:58.000000000 +0000 +++ perl561s/gnu/perl.561/perl.c 2002-12-30 15:28:26.000000000 +0000 @@ -3363,9 +3363,14 @@ S_init_postdump_symbols(pTHX_ register i if (!(s = strchr(*env,'='))) continue; *s++ = '\0'; +/* (rich AT phekda DOT freeserve DOT co DOT uk): MS-DOS does support case-sensitive + * environment variable names. Don't capitalise + * the environment variable names. */ +#if 0 #if defined(MSDOS) (void)strupr(*env); #endif +#endif sv = newSVpv(s--,0); (void)hv_store(hv, *env, s - *env, sv, 0); *s = '=';