Hi, Julien Lepiller <[email protected]> writes:
> Le Thu, 19 Apr 2018 10:39:10 -0400, > Leo Famulari <[email protected]> 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
