delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/11/03/14:34:20

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 <rich AT phekda DOT freeserve DOT co DOT uk>
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 <djgpp-workers AT delorie DOT com>
Subject: automake 1.5 and perl 5.6.1
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;

- Raw text -


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