Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 583674 - dev-perl/libintl-perl has a seriously braindead build system
Summary: dev-perl/libintl-perl has a seriously braindead build system
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard: was: sys-apps/texinfo-6.1 emerge fail...
Keywords:
: 575960 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-05-21 15:30 UTC by bill
Modified: 2018-04-01 19:46 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info '=sys-apps/texinfo-6.1::gentoo' (file_583674.txt,5.63 KB, text/plain)
2016-05-21 15:30 UTC, bill
Details
emerge -pqv '=sys-apps/texinfo-6.1::gentoo' (file_583674.txt,59 bytes, text/plain)
2016-05-21 15:32 UTC, bill
Details
/var/tmp/portage/sys-apps/texinfo-6.1/temp/build.log (file_583674.txt,138.98 KB, text/plain)
2016-05-21 15:33 UTC, bill
Details
/var/tmp/portage/sys-apps/texinfo-6.1/temp/environment (file_583674.txt,88.89 KB, text/plain)
2016-05-21 15:33 UTC, bill
Details
genloop -l (emerge.log,5.33 KB, text/plain)
2016-05-25 18:03 UTC, bill
Details
genloop -l (genlop.txt,3.81 KB, text/plain)
2016-05-28 08:24 UTC, bill
Details

Note You need to log in before you can comment on or make changes to this bug.
Description bill 2016-05-21 15:30:44 UTC
Created attachment 434878 [details]
emerge --info '=sys-apps/texinfo-6.1::gentoo'

After upgrading perl to 5.24 i ran emerge @preserved-rebuild.
texinfo tries to merge but fails.
Comment 1 bill 2016-05-21 15:32:06 UTC
Created attachment 434880 [details]
emerge -pqv '=sys-apps/texinfo-6.1::gentoo'
Comment 2 bill 2016-05-21 15:33:04 UTC
Created attachment 434882 [details]
/var/tmp/portage/sys-apps/texinfo-6.1/temp/build.log
Comment 3 bill 2016-05-21 15:33:53 UTC
Created attachment 434884 [details]
/var/tmp/portage/sys-apps/texinfo-6.1/temp/environment
Comment 4 Pacho Ramos gentoo-dev 2016-05-24 10:01:17 UTC
It is depending on dev-perl/libintl-perl that provides it... but I am unsure if all is properly done there for making it to be rebuilt when perl is bumped :/

I think it is the case as libintl-perl ebuild is not overwriting the default yes value for GENTOO_DEPEND_ON_PERL_SUBSLOT and, then, it should get rebuilt
Comment 5 SpanKY gentoo-dev 2016-05-24 13:54:42 UTC
looks like a problem with dev-perl/libintl-perl
Comment 6 bill 2016-05-24 18:24:47 UTC
I ran perl-cleaner --all
that rebuilt the following packages that included dev-perl/libintl-perl and texinfo emerged fine.

sys-apps/texinfo:0 dev-perl/XML-Parser:0 dev-perl/Text-Unidecode:0 dev-perl/XML-Simple:0 dev-perl/XML-SAX-Base:0 dev-perl/libintl-perl:0 dev-perl/XML-NamespaceSupport:0 dev-perl/Unicode-EastAsianWidth:0 dev-perl/XML-SAX:0 dev-perl/XML-LibXML:0
Comment 7 Pacho Ramos gentoo-dev 2016-05-24 19:24:42 UTC
Yeah, but it's supposed we should be able to not need to rely on perl-cleaner :/
Comment 8 Andreas K. Hüttel archtester gentoo-dev 2016-05-24 21:23:22 UTC
Hi Bill, 

this is one of those mystery bugs that we haven't been able to solve yet...

What might be very helpful is to see your emerge history since the last dev-lang/perl update. I.e., install genlop (if you dont have it yet), run

genlop -l

and add to this bug all lines since and including the build of dev-lang/perl-5.24.0 ...

TIA!
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2016-05-24 21:39:31 UTC
*** Bug 567552 has been marked as a duplicate of this bug. ***
Comment 10 Andreas K. Hüttel archtester gentoo-dev 2016-05-24 21:41:39 UTC
*** Bug 575960 has been marked as a duplicate of this bug. ***
Comment 11 bill 2016-05-25 18:03:26 UTC
Created attachment 435364 [details]
genloop -l
Comment 12 Andreas K. Hüttel archtester gentoo-dev 2016-05-27 21:44:34 UTC
(In reply to bill from comment #11)
> Created attachment 435364 [details]
> genloop -l

Thanks but... (and sorry if I was unclear)... the interesting part is the one after perl-5.24 :)
Comment 13 bill 2016-05-28 08:23:38 UTC
Oups, my bad.
Here is the log from perl-5.24 up to the rebuild of texinfo & libintl caused by perl-cleaner.
Comment 14 bill 2016-05-28 08:24:02 UTC
Created attachment 435590 [details]
genloop -l
Comment 15 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2016-05-28 08:44:18 UTC
does `perl -MLocale::Messages -e1` have any problems when run as the portage user?
Comment 16 bill 2016-05-29 11:20:24 UTC
(In reply to Kent Fredric from comment #15)
> does `perl -MLocale::Messages -e1` have any problems when run as the portage
> user?

Everything seems fine. (no output)
Comment 17 Joshua Kinard gentoo-dev 2016-05-29 14:26:19 UTC
(In reply to Pacho Ramos from comment #7)
> Yeah, but it's supposed we should be able to not need to rely on
> perl-cleaner :/

It seems this is what happens with every major perl upgrade.  At least 5.22 -> 5.24 wasn't as bad as 5.20 -> 5.22...
Comment 18 Toralf Förster gentoo-dev 2016-05-29 14:36:11 UTC
(In reply to Joshua Kinard from comment #17)
I made it now generic here at my tinderbox :
https://github.com/toralf/tinderbox/commit/2654d69813ca9bd1f9e8dc96e23ce356da863bd6
Comment 19 Andreas K. Hüttel archtester gentoo-dev 2016-05-29 16:50:48 UTC
(In reply to bill from comment #14)
> Created attachment 435590 [details]
> genloop -l

Sat May 21 01:04:18 2016 >>> dev-lang/perl-5.24.0
[...]
Tue May 24 21:21:41 2016 >>> dev-perl/libintl-perl-1.240.0
Tue May 24 21:21:44 2016 >>> dev-perl/Unicode-EastAsianWidth-1.330.0-r1
Tue May 24 21:21:48 2016 >>> dev-perl/XML-SAX-0.990.0-r1
Tue May 24 21:22:14 2016 >>> sys-apps/texinfo-6.1

Uh, this is seriously weird. You clearly have new perl, then libintl-perl is rebuilt, and afterwards texinfo fails.
Comment 20 Andreas K. Hüttel archtester gentoo-dev 2016-05-29 17:04:30 UTC
OK I found out what might be causing this. If you look into the source of libintl-perl you find this nice comment:

# FIXME: This is really a hack! Problem: Depending on the build system,
# we may or may not build and install the XS version.  If the XS version
# is being built, the directory blib/arch will be populated, if it is
# not being built, blib/arch will be empty.  Unfortunately, if blib/arch
# is not empty, *all* library files will be installed in the architecture
# dependent locations, if it is empty, they will be installed in the
# architecture independent tree.
#
# Unfortunately, ExtUtils::MakeMaker does not take care of uninstalling
# files from previous installations.  Consequently, we cannot determine
# which version of the library will be loaded, since this depends on the
# current value of @INC.
#
# The solution does not really make me happy.  The Makefile will be patched,
# so that instead of ExtUtils::Install a custom module MyInstall.pm will
# be used.  This custom module overwrites the subroutine that detects
# whether a directory is empty in ExtUtils::Install, and will lie if that
# directory happens to be "blib/arch".  This little hack effectively disables 
# the annoying behavior of ExtUtils::Install (and I sincerely hope that
# this is portable).

Basically upstream is trying to sanitize Perl native installation and does weird stuff. 

I haven't got a proof yet that this causes our problem, since the situation (in the middle of a Perl upgrade) is hard to reproduce. However, I've pushed 
dev-perl/libintl-perl-1.240.0-r1 where the weirdness is patched out and the build system is reduced to the essentials.

Please test. Toralf, it would be great if you could run a test with a Perl update where this libintl-perl version is visible and no specific hacks are applied.
Comment 21 bill 2016-05-30 17:04:57 UTC
Let's hope it works for the people who have not updated yet. :)
Comment 22 Toralf Förster gentoo-dev 2016-05-30 19:23:33 UTC
(In reply to Andreas K. Hüttel from comment #20)
will do - BTW I had a braino too over this weekend therefore a  test image is now (few minutes ago) *really* started
Comment 23 Larry the Git Cow gentoo-dev 2018-04-01 19:46:10 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74b555904aae62f64a5c48085d30195a4c1ee6a8

commit 74b555904aae62f64a5c48085d30195a4c1ee6a8
Author:     Kent Fredric <kentnl@gentoo.org>
AuthorDate: 2018-04-01 19:45:27 +0000
Commit:     Kent Fredric <kentnl@gentoo.org>
CommitDate: 2018-04-01 19:45:27 +0000

    dev-perl/libintl-perl: Cleanup old re bug #613804
    
    Closes: https://bugs.gentoo.org/613804
    Closes: https://bugs.gentoo.org/583674
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 dev-perl/libintl-perl/Manifest                     |  1 -
 .../libintl-perl/libintl-perl-1.200.0-r1.ebuild    | 30 --------------------
 dev-perl/libintl-perl/libintl-perl-1.240.0.ebuild  | 33 ----------------------
 3 files changed, 64 deletions(-)