Subject: bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

From: Julien Lepiller <[email-masked]>
Date: Fri, 20 Apr 2018 14:41:52 +0200

Le Thu, 19 Apr 2018 10:39:10 -0400,
Leo Famulari <[email-masked]> a écrit :

> On Wed, Apr 18, 2018 at 11:14:40PM -0400, George myglc2 Clemmer wrote:
> > Commit ...
> > 
> > 217b8c2e0 * gnu: perl: Replace with 5.26.2 [fixes
> > CVE-2018-{6797,6798,6913}].
> > 
> > ... caused the attached perl script that worked like this ...
> > 
> > g1@g1 ~/.mail-mirror$ guix environment --ad-hoc perl perl-timedate
> > make wget g1@g1 ~/.mail-mirror [env]$ perl mb2md-3.20.pl
> > Usage:
> >        mb2md -h
> >        mb2md [-c] -m [-d destdir]
> >        mb2md [-c] -s sourcefile [-d destdir]
> >        mb2md [-c] -s sourcedir [-l wu-mailboxlist] [-R|-f
> > somefolder] [-d destdir] [-r strip_extension] g1@g1 ~/.mail-mirror
> > [env]$
> > 
> > 
> > ... to stop working ...
> > 
> > g1@g1 ~/.mail-mirror$  guix environment --ad-hoc perl perl-timedate
> > make wget g1@g1 ~/.mail-mirror [env]$  perl mb2md-3.20.pl
> > Can't locate Date/Parse.pm in @INC (you may need to install the
> > Date::Parse module) (@INC
> > contains: /gnu/store/wpwb4ig3qhv3m7axjlid2c0f1jqzp09p-profile/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi /gnu/store/wpwb4ig3qhv3m7axjlid2c0f1jqzp09p-profile/lib/perl5/site_perl/5.26.2 /gnu/store/wpwb4ig3qhv3m7axjlid2c0f1jqzp09p-profile/lib/perl5/site_perl /gnu/store/ynk3rg3i791i6k7rz2imbyj9wyfjrnrc-perl-5.26.2/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi /gnu/store/ynk3rg3i791i6k7rz2imbyj9wyfjrnrc-perl-5.26.2/lib/perl5/site_perl/5.26.2 /gnu/store/ynk3rg3i791i6k7rz2imbyj9wyfjrnrc-perl-5.26.2/lib/perl5/5.26.2/x86_64-linux-thread-multi /gnu/store/ynk3rg3i791i6k7rz2imbyj9wyfjrnrc-perl-5.26.2/lib/perl5/5.26.2)
> > at mb2md-3.20.pl line 385. BEGIN failed--compilation aborted at
> > mb2md-3.20.pl line 385. g1@g1 ~/.mail-mirror [env]$
> > 
> > TIA - George  
> 
> 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?