Sender: rich AT phekda DOT freeserve DOT co DOT uk Message-ID: <3BE443C8.DDEC74C0@phekda.freeserve.co.uk> Date: Sat, 03 Nov 2001 19:21:44 +0000 From: Richard Dawe X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.19 i586) X-Accept-Language: de,fr MIME-Version: 1.0 To: DJGPP workers Subject: automake 1.5 and perl 5.6.1 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com 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;