Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 604246

Summary: =dev-lang/perl-5.22* conflicts with dev-lang/perl:0/5.22=
Product: Portage Development Reporter: Jeroen Roovers (RETIRED) <jer>
Component: CoreAssignee: Portage team <dev-portage>
Status: UNCONFIRMED ---    
Severity: normal CC: kentnl
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Jeroen Roovers (RETIRED) gentoo-dev 2016-12-31 11:06:58 UTC
(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
emerge --info 
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]
app-shells/bash:          4.3_p48::gentoo
dev-lang/perl:            5.22.2::gentoo
dev-lang/python:          2.7.10-r1::gentoo, 3.4.3-r1::gentoo, 3.5.2::gentoo
dev-util/ccache:          3.2.4::gentoo
dev-util/cmake:           3.5.2-r1::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.21.7::gentoo
sys-apps/sandbox:         2.10-r1::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-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

gentoo
    location: /aches/gentoo/portage
    sync-type: rsync
    sync-uri: rsync://rsync.nl.gentoo.org/gentoo-portage
    priority: -1000

JeR
    location: /aches/gentoo/local
    masters: gentoo
    priority: -100

ACCEPT_KEYWORDS="hppa"
ACCEPT_LICENSE="*"
CBUILD="hppa2.0-unknown-linux-gnu"
CFLAGS="-mschedule=8000 -march=2.0 -ggdb -Wall -O2 -pipe -Wno-comment"
CHOST="hppa2.0-unknown-linux-gnu"
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"
DISTDIR="/aches/gentoo/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n --autounmask=n --keep-going"
FCFLAGS=""
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"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--no-keep-memory"
MAKEOPTS="-j3"
PKGDIR="/aches/gentoo/packages/karsten"
PORTAGE_CONFIGROOT="/"
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"
PORTAGE_TMPDIR="/var/tmp"
USE="256-color X acl alsa amr anacron apng argyllcms audit bash-completion beautifulsoup3 berkdb bfio bittorrent botan bzip2 cairo canberra cli consolekit coverage cracklib crossdev crypt cups custom-cflags cxx dane dbus declarative dirac directfb distinct-l dlz doc dot dri emacs exceptions exif expat fbcon ffmpeg filecaps firefox firmware foomaticdb fortran frontend-optional g-sorcery gbm gdbm geoip geoloc glep gles1 gles2 gost gpg gpm gsm gstreamer gtk gudev guile hddtemp hppa hwdb iconv idn imlib inotify ipv6 jadetex javascript jingle jit jpeg jpeg2k json kdrive kmod ladspa lasi launch-frontend lensfun libcaca libcanberra libevent libopts libsoxr libusb libwww lua lzma lzo mad mng mod modplug modules mp3 mtp multislot multitarget munge nagios nas natspec ncurses netlink nfs nls nptl objc objc++ objc-gc offensive ofono-headset openexr opengl openmp openrc openvg opus oqgraph osmesa oss pam pcre pcre16 php pic pkcs11 png pnm policykit python qt qt3support qt4 raw readline realtime regression-test rtmp rubytests samba sbc schroedinger sctp session smi snappy socks5 speex spell spidermonkey sqlite ssl svg tcl tcpd test tga theora threads tiff tk tokyocabinet truetype unicode unwind v4l vim-syntax vorbis vpx wayland wcwidth x264 x265 xa xattr xcb xft xhtml xkb xml2 xvfb xvid zlib" ALSA_CARDS="ad1889 usb-audio" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev joystick keyboard mouse acecad aiptek calcomp citron digitaledge dmc dynapro elo2300 elographics fpit hyperpen jamstudio magellan microtouch mutouch palmax penmount spaceorb summa tek4957 tslib ur98 libinput void" KERNEL="linux" L10N="en nl he" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en nl he" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="stifb dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
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
Comment 1 Zac Medico gentoo-dev 2016-12-31 13:54:15 UTC
(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.
Comment 2 Zac Medico gentoo-dev 2016-12-31 14:09:54 UTC
(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:

https://wiki.gentoo.org/wiki/Project:Portage/FAQ#What_should_I_do_when_emerge_reports_a_lot_of_dependency_conflicts_involving_built_slot-operator_.28foo.2Fbar:X.2FY.3D.29_dependencies.3F
Comment 3 Andreas K. Hüttel archtester gentoo-dev 2016-12-31 14:17:20 UTC
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
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2017-01-01 17:46:41 UTC
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.
Comment 5 Zac Medico gentoo-dev 2017-01-01 20:41:46 UTC
(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.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2017-01-02 11:47:40 UTC
(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.
Comment 7 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2017-01-02 17:37:54 UTC
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.
Comment 8 Zac Medico gentoo-dev 2017-01-02 20:48:04 UTC
(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.