delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2003/01/16/13:51:19

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 <rich AT phekda DOT freeserve DOT co DOT uk>
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>
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 = '=';

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019