(dev-lang/perl-5.22.2:0/5.22::gentoo, installed) pulled in by
=dev-lang/perl-5.22* required by (virtual/perl-IO-Zlib-1.100.0-r8:0/0::gentoo, ebuild scheduled for merge)
dev-lang/perl:0/5.22=[-build(-)] required by (dev-tex/html2latex-1.1-r1:0/0::gentoo, installed)
(and 30 more with the same problems)
Sat 31 Dec 12:06:01 CET 2016
Portage 2.3.0 (python 2.7.10-final-0, default/linux/hppa/13.0, gcc-4.9.4, glibc-2.22-r4, 4.8.15-gentoo-JeR parisc64)
System uname: Linux-4.8.15-gentoo-JeR-parisc64-PA8800_-Mako-with-gentoo-2.3
KiB Mem: 8229688 total, 4757516 free
KiB Swap: 2101676 total, 2101676 free
Timestamp of repository gentoo: Sat, 31 Dec 2016 03:30:01 +0000
sh bash 4.3_p48
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
distcc 3.2rc1 hppa2.0-unknown-linux-gnu [enabled]
ccache version 3.2.4 [disabled]
dev-lang/python: 2.7.10-r1::gentoo, 3.4.3-r1::gentoo, 3.5.2::gentoo
sys-devel/autoconf: 2.13::gentoo, 2.69::gentoo
sys-devel/automake: 1.9.6-r3::gentoo, 1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils: 2.22-r1::gentoo, 2.23.1::gentoo, 2.23.2::gentoo, 2.24-r3::gentoo, 2.25.1-r1::gentoo
sys-devel/gcc: 4.6.4::gentoo, 4.7.2-r1::gentoo, 4.7.3-r1::gentoo, 4.8.1-r1::gentoo, 4.8.3::gentoo, 4.8.4::gentoo, 4.8.5::gentoo, 4.9.2::gentoo, 4.9.3::gentoo, 4.9.4::gentoo, 5.2.0::gentoo, 5.3.0::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
CFLAGS="-mschedule=8000 -march=2.0 -ggdb -Wall -O2 -pipe -Wno-comment"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/lib/distcc/bin /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /var/bind /var/www/localhost/htdocs/wordpress/wp-config.php"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/apache2-php7.0/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/php/cli-php7.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-mschedule=8000 -march=2.0 -ggdb -Wall -O2 -pipe"
EMERGE_DEFAULT_OPTS="--quiet-build=n --autounmask=n --keep-going"
FEATURES="assume-digests binpkg-logs buildpkg compressdebug config-protect-if-modified distcc distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news notitles parallel-fetch preserve-libs protect-owned sfperms splitdebug strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersync xattr"
FFLAGS="-mschedule=8000 -march=2.0 -ggdb -Wall -O2 -pipe"
GENTOO_MIRRORS="http://de-mirror.org/gentoo/ http://mirror.netcologne.de/gentoo/ http://mirror.leaseweb.com/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--no-keep-memory"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
USE_PYTHON="2.7 3.4 3.5"
Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to Jeroen Roovers from comment #0)
> (dev-lang/perl-5.22.2:0/5.22::gentoo, installed) pulled in by
These "pulled in by" messages typically display multiple packages that were pulled in, but you've only posted one of them. Was (dev-lang/perl-5.22.2:0/5.22::gentoo, installed) the only one that got pulled in?
Since you haven't posted the whole emerge output, it's not clear whether it's a "slot conflict" or a "blocker conflict". Both kinds of conflicts trigger these "pulled in by" messages.
(In reply to Jeroen Roovers from comment #0)
> dev-lang/perl:0/5.22=[-build(-)] required by
> (dev-tex/html2latex-1.1-r1:0/0::gentoo, installed)
> (and 30 more with the same problems)
If it's a slot conflict, you're probably going to want to use the --pretend and --ignore-built-slot-operator-deps=y suggestion here:
1) please try with a higher backtrack value (e.g., --backtrack=1000 ); there's already a bug to make that default.
2) useful output is missing; ideally set --verbose-conflicts=y
Is there any way =dev-lang/perl-5.22* does not or should not resolve to dev-lang/perl:0/5.22= ?
I filed this bug report because if after dependency resolution, portage arrives at "=dev-lang/perl-5.22* conflicts with dev-lang/perl:0/5.22", then it is doing it wrong.
(In reply to Jeroen Roovers from comment #4)
> Is there any way =dev-lang/perl-5.22* does not or should not resolve to
> dev-lang/perl:0/5.22= ?
No, because all of the per-5.22* ebuilds set SLOT="0/5.22".
> I filed this bug report because if after dependency resolution, portage
> arrives at "=dev-lang/perl-5.22* conflicts with dev-lang/perl:0/5.22", then
> it is doing it wrong.
I think that you have misinterpreted the output. The message posted in comment #0 indicates that both =dev-lang/perl-5.22* and dev-lang/perl:0/5.22=[-build(-)] match (dev-lang/perl-5.22.2:0/5.22::gentoo, installed), so it doesn't mean what you thought.
(In reply to Zac Medico from comment #5)
> (In reply to Jeroen Roovers from comment #4)
> > Is there any way =dev-lang/perl-5.22* does not or should not resolve to
> > dev-lang/perl:0/5.22= ?
> No, because all of the per-5.22* ebuilds set SLOT="0/5.22".
> > I filed this bug report because if after dependency resolution, portage
> > arrives at "=dev-lang/perl-5.22* conflicts with dev-lang/perl:0/5.22", then
> > it is doing it wrong.
> I think that you have misinterpreted the output. The message posted in
> comment #0 indicates that both =dev-lang/perl-5.22* and
> dev-lang/perl:0/5.22=[-build(-)] match (dev-lang/perl-5.22.2:0/5.22::gentoo,
> installed), so it doesn't mean what you thought.
If this were just a matter of human interpretation I wouldn't have filed this bug report. I already tried what comment #3 suggested, to set `--backtrack=1000`, which resulted in the same output being printed after about 5 hours of churning on a single CPU while emerge was continually using half a gigabyte of RAM.
To me the positions of the carets indicate that the SLOT/sub-SLOT 0/5.22= does not match the version 5.22*. I would think that any version 5.22* would match that SLOT and sub-SLOT but apparently portage can't resolve that. (Maybe I should try a newer-than-stable version? I don't know.) I may sound really stupid now, but to my limited wisdom and knowledge those should resolve to the same, hence the Summary of this bug report. I didn't expect to be met with disagreement on the statement in the Summary being false.
Usually this message takes this form:
PACKAGE-A pulled in by
>=PACKAGE-A by THINGNEEDSPACKAGEA
PACKAGE:SLOT by THINGNEEDSUBSLOT
PACKAGE-B pulled in by
PACKAGE:OTHERSLOT BY OTHERTHINGTHINGNEEDSSUBSLOT
In both cases, the carets don't indicate the block, they only indicate the
reason for the dependency target being required.
The problem is not so much the carets, but the multiple packages they infer ( A vs B )
WHAT pulled in by
WHY by WHAT
You've only given us the one of the alternatives portage couldn't decide between
Usually that's a problem of "Things were considered in the upgrade graph that broke stuff that was in installed-but-not-a-dependency-of-world", which includes things that are exclusively bdeps.
( That is, it considers the bdeps for blocking, but not for reinstallation to resolve blocking )
Here, --with-bdeps y helps a boatload, and is very effective in conjunction with a backtrack value ( But I'm uncertain if backtracking alone is sufficient without bdeps )
Though I agree, the message is very confusing.
(In reply to Jeroen Roovers from comment #6)
> If this were just a matter of human interpretation I wouldn't have filed
> this bug report.
I'm _not_ claiming that it's _only_ a matter of interpretation, but it is at least one on the matters involved here, as explained by Kent in comment #7.
> I already tried what comment #3 suggested, to set
> `--backtrack=1000`, which resulted in the same output being printed after
> about 5 hours of churning on a single CPU while emerge was continually using
> half a gigabyte of RAM.
A large --backtrack value is going to be useless if you've got a configuration issue being obscured by a bunch of conflicts involving built slot-operator deps. That's why you should try with --pretend and --ignore-built-slot-operator-deps=y as suggested in comment #2.
(In reply to Kent Fredric (IRC: kent\n) from comment #7)
Thanks, that's what I was trying to explain regarding "multiple packages" in comment #1. Every conflict involves at least _two_ "pulled in by" packages, so there must be at least one more besides (dev-lang/perl-5.22.2:0/5.22::gentoo, installed).
Anyway, my experience has shown that --pretend and --ignore-built-slot-operator-deps=y is the best starting point for troubleshooting problems of this nature, as suggested in comment #2. The patch from bug 602964 is also likely to be helpful in many cases.