GNU bug report logs - #31216
commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

Previous Next

Package: guix;

Reported by: George myglc2 Clemmer <myglc2 <at> gmail.com>

Date: Thu, 19 Apr 2018 03:15:01 UTC

Severity: normal

Done: Marius Bakke <mbakke <at> fastmail.com>

Bug is archived. No further changes may be made.

Full log


Message #25 received at 31216 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 31216 <at> debbugs.gnu.org
Subject: Re: bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm
 in @INC Error' perl error
Date: Fri, 20 Apr 2018 23:15:15 -0400
Hi,

Julien Lepiller <julien <at> lepiller.eu> writes:

> Le Thu, 19 Apr 2018 10:39:10 -0400,
> Leo Famulari <leo <at> famulari.name> a écrit :
>
>> I believe this is fixed by commit
>> 44b98b00026e62766620dbc4330a305282d61069.
>> 
>> Can you try again and let me know?
>
> Hi, I don't think this is fully fixed. On current master, trying to run
> po4a (a perl application that guix now depends on to generate the
> translation of the manual), I get the following:
>
> [env]$ po4a-updatepo
> Can't locate Locale/Po4a/Po.pm in @INC (you may need to install the
> Locale::Po4a::Po module) (@INC
> contains:
> /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/lib/perl5/site_perl
> /home/tyreunom/.guix-profile/lib/perl5/site_perl
> /home/tyreunom/.guix-profile/lib/perl5/site_perl
> /home/tyreunom/.guix-profile/lib/perl5/site_perl
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2/x86_64-linux-thread-multi
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2)
> at /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/bin/.po4a-updatepo-real
> line 168.
>
> What fixed the issue was adding
> $GUIX_ENVIRONMENT/lib/perl5/site_perl/5.26.1 to the PERL5LIB variable.
>
> It used to work until very recently, but I wonder why the version number
> is 5.26.1 if perl is 5.26.2?

It's because perl is grafted: perl-5.26.1 is still used for building
packages, but then after everything is built, references to perl-5.26.1
are replaced with references to perl-5.26.2 by grafting.

The problem we're having with grafting perl is that grafting can only
rewrite a single component of the referenced filenames, namely the
directory name within /gnu/store.  In the case of perl this is not
enough because the precise Perl version number is included in
subdirectory names as well.

Commit 44b98b00026e62766620dbc4330a305282d61069 attempts to fix the
problem by installing a symlink $OUT/lib/perl5/5.26.1 in the perl-5.26.2
directory, and that certainly fixed many problems.

The problem here with p04a is that there's a second symlink that we
need: $OUT/lib/perl5/site_perl/5.26.1, and possibly a third for
$OUT/bin/perl5.26.1.

I'm testing a patch now and will push it soon.

      Mark




This bug report was last modified 7 years and 89 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.