From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: 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 Message-ID: <877ep1z1vg.fsf@netris.org> References: <87r2nbubtr.fsf@gmail.com> <20180419143910.GB8699@jasmine.lan> <20180420144145.18837a78@lepiller.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35419) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9j1P-0005nf-4F for bug-guix@gnu.org; Fri, 20 Apr 2018 23:17:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9j1K-0005HH-HS for bug-guix@gnu.org; Fri, 20 Apr 2018 23:17:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:54827) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f9j1K-0005HA-Cg for bug-guix@gnu.org; Fri, 20 Apr 2018 23:17:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1f9j1K-0007Jx-69 for bug-guix@gnu.org; Fri, 20 Apr 2018 23:17:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20180420144145.18837a78@lepiller.eu> (Julien Lepiller's message of "Fri, 20 Apr 2018 14:41:52 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Julien Lepiller Cc: 31216@debbugs.gnu.org Hi, Julien Lepiller writes: > Le Thu, 19 Apr 2018 10:39:10 -0400, > Leo Famulari a =C3=A9crit : > >> I believe this is fixed by commit >> 44b98b00026e62766620dbc4330a305282d61069. >>=20 >> 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_pe= rl/5.26.2/x86_64-linux-thread-multi > /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_pe= rl/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-update= po-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