Mail Archives: djgpp-workers/2003/01/16/13:51:19
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 -