Mail Archives: djgpp-workers/2001/11/03/14:34:20
Hello.
I just tried upgrading to automake 1.5 from 1.4. I had an old version of
perl installed that didn't support /dev/env/DJDIR syntax, so upgraded to
perl 5.6.1. Then I got the following error message:
bash-2.04$ automake
Can't locate strict.pm in @INC (@INC contains:
/dev/env/DJDIR/share/automake /dev/env/djdir/lib/perl5
/dev/env/djdir/lib/perl5/site /dev/env/djdir/lib/perl5/site
c:/djgpp/lib/perl5/site .) at
/dev/env/DJDIR/share/automake/Automake/Struct.pm
line 29.
BEGIN failed--compilation aborted at
/dev/env/DJDIR/share/automake/Automake/Struct.pm line 29.
Compilation failed in require at c:/djgpp/bin/automake.orig line 39.
BEGIN failed--compilation aborted at c:/djgpp/bin/automake.orig line 39.
I did a find for strict.pm and found it in /dev/env/DJDIR/lib/perl5, where
perl should find it. But the paths have DJDIR in lowercase, which is a
different environment variable. Hence perl cannot find its own modules.
The diff below is a hack to fix the problem, but this looks like a bug in
perl 5.6.1 to me.
I also have a couple of nits to pick about the perl 5.6.1 distribution. It
overwrites readme.1st from djdev, which isn't nice. The distributions
don't have DSMs - you can download the ones I wrote for 5.005_02 here:
http://www.phekda.freeserve.co.uk/richdawe/zippo/dsm/
It shouldn't be too much work to update them to 5.6.1.
Bye, Rich =]
--
Richard Dawe
http://www.phekda.freeserve.co.uk/richdawe/
*** bin/automake.orig Tue Sep 4 19:55:32 2001
--- bin/automake Sat Nov 3 19:19:46 2001
*************** BEGIN
*** 34,39 ****
--- 34,41 ----
my $prefix = "/dev/env/DJDIR";
my $perllibdir = $ENV{'perllibdir'} || "${prefix}/share/automake";
unshift @INC, "$perllibdir";
+
+ foreach $inc (@INC) { $inc =~ s!/djdir/!/DJDIR/!g; }
}
use Automake::Struct;
- Raw text -