Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 596664 - dev-util/intltool broken by missing XML::Parser after upgrade, breaks all dependents in configure
Summary: dev-util/intltool broken by missing XML::Parser after upgrade, breaks all dep...
Status: CONFIRMED
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:
Keywords:
: 563810 570460 584848 596640 611224 612512 616822 620870 628982 628988 629216 629218 629220 637396 655998 660352 667886 704078 704080 708610 (view as bug list)
Depends on:
Blocks: build-order
  Show dependency tree
 
Reported: 2016-10-09 09:50 UTC by Kent Fredric (IRC: kent\n)
Modified: 2020-02-16 11:06 UTC (History)
15 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) gentoo-dev 2016-10-09 09:50:17 UTC
This is a re-hashing of the seperate bug, #41124, to track all the bugs that form indirectly from this problem.

The general problem is: 

   X -> intltool -> dev-perl/XML-Parser -> perl

As per the lengthy description in the similar bug, #592880

1. Perl upgrades
2. XML-Parser enters a "broken state" which is equivalent to "missing" from perl's perspective
3. Portage does not recognize that XML-Parser is now "missing"
4. Portage assumes intltool still works
5. Portage tries to compile something using intltool, and dies because XML-Parser is missing.

The death path is usually either in per-dependent configure stage via intltools '.m4' 

/usr/share/aclocal/intltool.m4:   AC_MSG_CHECKING([for XML::Parser])
/usr/share/aclocal/intltool.m4:   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
/usr/share/aclocal/intltool.m4:       AC_MSG_ERROR([XML::Parser perl module is required for intltool])

Or via invoking intltool and having it fail:

/usr/bin/intltool-merge:    my $ret = eval 'require XML::Parser';
/usr/bin/intltool-merge:        die "You must have XML::Parser installed to run $0\n\n";
/usr/bin/intltool-extract:    my $ret = eval 'require XML::Parser';
/usr/bin/intltool-extract:        die "You must have XML::Parser installed to run $0\n\n";

intltool's dependencies are already correct:
- Perl is in both DEPEND and RDEPEND
- XML-Parser is in both DEPEND and RDEPEND
- intltool does not itself link against perl.so or contain any libraries with perl-ABI-version specific paths, so subslot deps are not warranted.

The only solution left that we know of is for portage to work out how to pull this dependency when it should, and encourage all users experiencing this issue to sprinkle --with-bdeps=y into their stuff judiciously.
Comment 1 Kent Fredric (IRC: kent\n) gentoo-dev 2016-10-09 09:51:09 UTC
*** Bug 596640 has been marked as a duplicate of this bug. ***
Comment 2 Kent Fredric (IRC: kent\n) gentoo-dev 2016-10-09 09:54:00 UTC
*** Bug 584848 has been marked as a duplicate of this bug. ***
Comment 3 Kent Fredric (IRC: kent\n) gentoo-dev 2016-10-09 09:57:04 UTC
*** Bug 570460 has been marked as a duplicate of this bug. ***
Comment 4 Kent Fredric (IRC: kent\n) gentoo-dev 2016-10-09 09:58:55 UTC
*** Bug 563810 has been marked as a duplicate of this bug. ***
Comment 5 Pacho Ramos gentoo-dev 2016-10-09 10:23:44 UTC
(In reply to Kent Fredric (IRC: kent\n) from comment #0)
[...]
> 1. Perl upgrades
> 2. XML-Parser enters a "broken state" which is equivalent to "missing" from
> perl's perspective
> 3. Portage does not recognize that XML-Parser is now "missing"
> 4. Portage assumes intltool still works
> 5. Portage tries to compile something using intltool, and dies because
> XML-Parser is missing.

Shouldn't portage try to rebuild as soon as possible xml-parser (listed as RDEPEND in intltool) to try to solve the breakage as soon as possible? :/
Comment 6 Kent Fredric (IRC: kent\n) gentoo-dev 2016-10-09 12:02:28 UTC
It (In reply to Pacho Ramos from comment #5)
> (In reply to Kent Fredric (IRC: kent\n) from comment #0)
> [...]
> > 1. Perl upgrades
> > 2. XML-Parser enters a "broken state" which is equivalent to "missing" from
> > perl's perspective
> > 3. Portage does not recognize that XML-Parser is now "missing"
> > 4. Portage assumes intltool still works
> > 5. Portage tries to compile something using intltool, and dies because
> > XML-Parser is missing.
> 
> Shouldn't portage try to rebuild as soon as possible xml-parser (listed as
> RDEPEND in intltool) to try to solve the breakage as soon as possible? :/

It *should*, but it doesn't. 

Bug #463976 and bug #199856  are portage bugs for things we *believe* resolution of will mitigate this problem, but we won't know for sure until that happens.

When you read those bugs, the broad nature of this problem is uh, rather scary.

Its really surprising we didn't note this sooner.
Comment 7 Kent Fredric (IRC: kent\n) gentoo-dev 2016-10-09 12:11:07 UTC
Though I'm having a hard time identifying the cycle (if any) that is causing this issue. 

The only possible cycle I see so far is:

intltool -> XML-Parser -> perl -> sys-libs/db -> virtual/jdk -> icedtea-bin -> dev-java/icedtea-sound -> media-sound/pulseaudio -> intltool 

And I *really* doubt that's what's tripping portage.
Comment 8 Kent Fredric (IRC: kent\n) gentoo-dev 2017-02-28 18:53:02 UTC
*** Bug 611224 has been marked as a duplicate of this bug. ***
Comment 9 Cedric Sodhi 2017-03-13 16:40:15 UTC
*** Bug 612512 has been marked as a duplicate of this bug. ***
Comment 10 Kent Fredric (IRC: kent\n) gentoo-dev 2017-04-28 10:24:17 UTC
*** Bug 616822 has been marked as a duplicate of this bug. ***
Comment 11 Mart Raudsepp gentoo-dev 2017-06-10 16:18:02 UTC
*** Bug 620870 has been marked as a duplicate of this bug. ***
Comment 12 Mike Gilbert gentoo-dev 2017-08-26 18:51:47 UTC
*** Bug 628982 has been marked as a duplicate of this bug. ***
Comment 13 Mike Gilbert gentoo-dev 2017-08-28 17:37:19 UTC
*** Bug 629220 has been marked as a duplicate of this bug. ***
Comment 14 Gilles Dartiguelongue gentoo-dev 2017-08-28 20:53:08 UTC
*** Bug 629218 has been marked as a duplicate of this bug. ***
Comment 15 Kent Fredric (IRC: kent\n) gentoo-dev 2017-08-29 08:30:33 UTC
*** Bug 629216 has been marked as a duplicate of this bug. ***
Comment 16 James Le Cuirot gentoo-dev 2017-08-29 10:21:18 UTC
(In reply to Kent Fredric (IRC: kent\n) from comment #7)
> Though I'm having a hard time identifying the cycle (if any) that is causing
> this issue. 
> 
> The only possible cycle I see so far is:
> 
> intltool -> XML-Parser -> perl -> sys-libs/db -> virtual/jdk -> icedtea-bin
> -> dev-java/icedtea-sound -> media-sound/pulseaudio -> intltool 
> 
> And I *really* doubt that's what's tripping portage.

That sounds a likely candidate as I only recall hitting this problem on systems with icedtea-bin installed. It may be unrelated but I have seen other weirdness around Portage's handling of virtual/jdk before.
Comment 17 Pacho Ramos gentoo-dev 2017-08-30 17:45:11 UTC
*** Bug 628988 has been marked as a duplicate of this bug. ***
Comment 18 Mart Raudsepp gentoo-dev 2017-11-14 07:54:43 UTC
*** Bug 637396 has been marked as a duplicate of this bug. ***
Comment 19 Toralf Förster gentoo-dev 2018-01-20 22:22:53 UTC
FWIW I did no longer hit this at my tinderbox so I removed a special quirk for this bug for now from teh script.
Comment 20 Mart Raudsepp gentoo-dev 2018-05-18 13:49:42 UTC
*** Bug 655998 has been marked as a duplicate of this bug. ***
Comment 21 Mart Raudsepp gentoo-dev 2018-07-05 05:35:00 UTC
*** Bug 660352 has been marked as a duplicate of this bug. ***
Comment 22 Mart Raudsepp gentoo-dev 2018-10-06 14:21:27 UTC
*** Bug 667886 has been marked as a duplicate of this bug. ***
Comment 23 Toralf Förster gentoo-dev 2019-09-20 14:42:09 UTC
(In reply to Toralf Förster from comment #19)
> FWIW I did no longer hit this at my tinderbox so I removed a special quirk
> for this bug for now from teh script.

happened again today at 17.1_systemd-libressl-20190919-191611- re-adding the quirk:

checking for perl >= 5.8.1... 5.30.0
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/x11-misc/shared-mime-info-1.10-r1/work/shared-mime-info-1.10/config.log

for x11-misc/shared-mime-info-1.10-r1
Comment 24 Mart Raudsepp gentoo-dev 2019-12-28 12:34:27 UTC
*** Bug 704078 has been marked as a duplicate of this bug. ***
Comment 25 Jeroen Roovers gentoo-dev 2020-02-07 13:12:26 UTC
*** Bug 708610 has been marked as a duplicate of this bug. ***
Comment 26 Mart Raudsepp gentoo-dev 2020-02-16 11:06:55 UTC
*** Bug 704080 has been marked as a duplicate of this bug. ***