Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 586252 - sys-apps/portage: confusing USE=bindist slot conflict triggered by dev-qt/qt-creator dependency on dev-libs/botan[-bindist]
Summary: sys-apps/portage: confusing USE=bindist slot conflict triggered by dev-qt/qt-...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 300071
  Show dependency tree
 
Reported: 2016-06-18 05:53 UTC by Peter Sliepenbeek
Modified: 2016-08-17 20:17 UTC (History)
2 users (show)

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


Attachments
debug.log.xz (debug.log.xz,224.93 KB, application/x-xz)
2016-06-24 18:08 UTC, Peter Sliepenbeek
Details
now with bindist not disabled, but enabled in make.conf (debug.log.xz,851.20 KB, application/x-xz)
2016-06-26 04:03 UTC, Peter Sliepenbeek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Sliepenbeek 2016-06-18 05:53:14 UTC
When I issue the command 'emerge --pretend --update --deep --newuse system world' the result is:
...
[ebuild   R    ] kde-frameworks/plasma-5.21.0  USE="(-doc%)" 
[ebuild   R    ] kde-frameworks/krunner-5.21.0  USE="(-doc%)" 

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-libs/openssl:0

  (dev-libs/openssl-1.0.2h:0/0::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-libs/openssl-0.9.8g:*[bindist=] required by (dev-libs/botan-1.10.12:0/0::gentoo, ebuild scheduled for merge)
                                ^^^^^^^^                                                                                                                  

  (dev-libs/openssl-1.0.2h:0/0::gentoo, installed) pulled in by
    >=dev-libs/openssl-0.9.8f:0[bindist=] required by (net-misc/openssh-7.2_p2:0/0::gentoo, installed)
                                ^^^^^^^^                                                                                                  
    dev-libs/openssl:0[bindist=] required by (dev-qt/qtnetwork-5.5.1:5/5::gentoo, installed)
                       ^^^^^^^^                                                                                                 


It might be possible to solve this slot collision
by applying all of the following changes:
   - dev-libs/openssl-1.0.2h (Change USE: +bindist)
   - dev-libs/botan-1.10.12 (Change USE: +bindist)


The following packages are causing rebuilds:

  (sys-devel/llvm-3.7.1-r2:0/3.7.1::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (media-libs/mesa-11.0.6:0/0::gentoo, ebuild scheduled for merge)

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-libs/botan-1.10.12::gentoo[ssl]
# required by dev-qt/qt-creator-3.6.1::gentoo
# required by @selected
# required by @world (argument)
>=dev-libs/openssl-1.0.2h -bindist
# required by dev-qt/qt-creator-3.6.1::gentoo
# required by @selected
# required by @world (argument)
>=dev-libs/botan-1.10.12 -bindist

To resolve the USE flags issues I include the selected text in package.use and re-issue the command 'emerge --pretend --update --deep --newuse system world' with the result:
...
[ebuild   R    ] kde-frameworks/plasma-5.21.0  USE="(-doc%)" 
[ebuild   R    ] kde-frameworks/krunner-5.21.0  USE="(-doc%)" 

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-libs/openssl:0

  (dev-libs/openssl-1.0.2h:0/0::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-libs/openssl-0.9.8g:*[bindist=] required by (dev-libs/botan-1.10.12:0/0::gentoo, ebuild scheduled for merge)
                                ^^^^^^^^                                                                                                                  

  (dev-libs/openssl-1.0.2h:0/0::gentoo, installed) pulled in by
    >=dev-libs/openssl-0.9.8f:0[bindist=] required by (net-misc/openssh-7.2_p2:0/0::gentoo, installed)
                                ^^^^^^^^                                                                                                  
    dev-libs/openssl:0[bindist=] required by (dev-qt/qtnetwork-5.5.1:5/5::gentoo, installed)
                       ^^^^^^^^                                                                                                 


It might be possible to solve this slot collision
by applying all of the following changes:
   - dev-libs/botan-1.10.12 (Change USE: +bindist)
   - dev-libs/openssl-1.0.2h (Change USE: +bindist)


The following packages are causing rebuilds:

  (sys-devel/llvm-3.7.1-r2:0/3.7.1::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (media-libs/mesa-11.0.6:0/0::gentoo, ebuild scheduled for merge)

The slot conflict remains.

openssl Is included in package.use as follows:
package.use:net-ftp/proftpd                 openssl
package.use:app-crypt/qca                   openssl
package.use:dev-libs/openssl                abi_x86_32
package.use:>=dev-libs/openssl-1.0.2h -bindist

botan Is include in package.use as follows:
package.use:>=dev-libs/botan-1.10.12    threads
package.use:# required by dev-libs/botan-1.10.12::gentoo[ssl]
package.use:>=dev-libs/botan-1.10.12 -bindist

The USE flags in make.conf are:
USE="bindist mmx sse sse2 dbus udev X usb alsa apache2 -libav"
Comment 1 Peter Sliepenbeek 2016-06-18 07:51:03 UTC
I removed kde-plasma/plasma-meta from 'world' so the output is more readable:

localhost configuration # emerge --ask --changed-use --newrepo --deep world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-libs/openssl-1.0.2h  USE="-bindist*" 
[ebuild   R    ] dev-libs/botan-1.10.12  USE="-bindist*" 

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-libs/openssl:0

  (dev-libs/openssl-1.0.2h:0/0::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-libs/openssl-0.9.8g:*[bindist=] required by (dev-libs/botan-1.10.12:0/0::gentoo, ebuild scheduled for merge)
                                ^^^^^^^^                                                                                                                  

  (dev-libs/openssl-1.0.2h:0/0::gentoo, installed) pulled in by
    >=dev-libs/openssl-0.9.8f:0[bindist=] required by (net-misc/openssh-7.2_p2:0/0::gentoo, installed)
                                ^^^^^^^^                                                                                                  
    dev-libs/openssl:0[bindist=] required by (dev-qt/qtnetwork-5.5.1:5/5::gentoo, installed)
                       ^^^^^^^^                                                                                                 


It might be possible to solve this slot collision
by applying all of the following changes:
   - dev-libs/botan-1.10.12 (Change USE: +bindist)
   - dev-libs/openssl-1.0.2h (Change USE: +bindist)
Comment 2 Pacho Ramos gentoo-dev 2016-06-22 11:38:27 UTC
Looks like portage is getting confused with enabling/disabling bindist and autounmask :/

Please post emerge --info
Comment 3 Peter Sliepenbeek 2016-06-22 20:27:42 UTC
localhost configuration # emerge --info
Portage 2.2.28 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-4.9.3, glibc-2.22-r4, 4.4.6-gentoo x86_64)
=================================================================
System uname: Linux-4.4.6-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_E3-1230_V2_@_3.30GHz-with-gentoo-2.2
KiB Mem:    32841408 total,   2342820 free
KiB Swap:   67108856 total,  66971916 free
Timestamp of repository gentoo: Wed, 22 Jun 2016 20:00:01 +0000
sh bash 4.3_p42-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.10-r1::gentoo, 3.4.3-r1::gentoo
dev-util/cmake:           3.3.1-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.19.1::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::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.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

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

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
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/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
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="X a52 aac acl acpi alsa amd64 apache2 berkdb bindist bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif glamor gpm gtk iconv ipv6 jpeg kde kipi lcms ldap libnotify mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds qml qt3support qt4 qt5 readline sdl seccomp semantic-desktop session spell sse sse2 ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="radeon" 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"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 4 Zac Medico gentoo-dev 2016-06-23 16:53:30 UTC
It looks like you also need to synchronize the dev-qt/qtnetwork bindist setting.

Typically, the bindist flag should be enabled or disabled via USE in make.conf, since using per-package settings in package.use is likely to trigger conflicts like this.
Comment 5 Zac Medico gentoo-dev 2016-06-23 16:54:18 UTC
(In reply to Zac Medico from comment #4)
> It looks like you also need to synchronize the dev-qt/qtnetwork bindist
> setting.

Also net-misc/openssh.
Comment 6 Peter Sliepenbeek 2016-06-24 14:35:15 UTC
The USE flag bindist is enabled in make.conf (from a previous comment):
USE="bindist mmx sse sse2 dbus udev X usb alsa apache2 -libav"
Comment 7 Zac Medico gentoo-dev 2016-06-24 16:06:07 UTC
(In reply to Peter Sliepenbeek from comment #6)
> The USE flag bindist is enabled in make.conf (from a previous comment):
> USE="bindist mmx sse sse2 dbus udev X usb alsa apache2 -libav"

Okay, then the --newuse option should help. I see you used --newuse in comment #0, but you still got this:

  (dev-libs/openssl-1.0.2h:0/0::gentoo, installed) pulled in by
    >=dev-libs/openssl-0.9.8f:0[bindist=] required by (net-misc/openssh-7.2_p2:0/0::gentoo, installed)

That's odd that the installed net-misc/openssh-7.2_p2 got pulled into the dependency graph, because we would expect --newuse to trigger a rebuild with the correct USE=bindist setting. It could be that the installed instance got pulled in to satisfy some other dependency.

If you're still able to reproduce the problem, please attach a debug log created as follows:

   emerge -puvDN --changed-deps --with-bdeps=y --debug @world &> debug.log
   xz -9 debug.log
Comment 8 Peter Sliepenbeek 2016-06-24 18:08:02 UTC
Created attachment 438680 [details]
debug.log.xz

As requested the output of 'emerge -puvDN --changed-deps --with-bdeps=y --debug @world &> debug.log' (and 'xz -9 debug.log').
Comment 9 Zac Medico gentoo-dev 2016-06-25 22:22:24 UTC
(In reply to Peter Sliepenbeek from comment #8)
> Created attachment 438680 [details]
> debug.log.xz
> 
> As requested the output of 'emerge -puvDN --changed-deps --with-bdeps=y
> --debug @world &> debug.log' (and 'xz -9 debug.log').

It looks like you still have the bindist USE flag disabled for dev-libs/openssl, probably in /etc/portage/package.use. You can quickly verify with this command:

   emerge -pv --nodeps dev-libs/openssl

You can easily check for such settings using this command:

   grep -r bindist /etc/portage

If you enable the bindist flag for dev-libs/openssl, does that solve your problem? If not, please create another debug log with bindist enabled for dev-libs/openssl.
Comment 10 Peter Sliepenbeek 2016-06-26 04:03:38 UTC
Created attachment 438826 [details]
now with bindist not disabled, but enabled in make.conf

As requested the output of 'emerge -puvDN --changed-deps --with-bdeps=y --debug @world &> debug.log' (and 'xz -9 debug.log').

Now with bindist not disabled for the packages openssl and botan, but (still) enabled in make.conf.
Comment 11 Zac Medico gentoo-dev 2016-06-27 00:22:45 UTC
(In reply to Peter Sliepenbeek from comment #10)
> Created attachment 438826 [details]
> now with bindist not disabled, but enabled in make.conf

Now it's clear that the dependencies are not solvable with USE=bindist, because of this dependency from dev-qt/qt-creator-3.6.1:

    dev-libs/botan-1.10*[-bindist,threads]

Because of that dependency, you have to disable USE=bindist for dev-libs/botan, which means you also have to disable it for dev-libs/openssl. Furthermore, disabling bindist for dev-libs/openssl means that you also have to disable it for dev-qt/qtnetwork and net-misc/openssh. Nice, eh?
Comment 12 Zac Medico gentoo-dev 2016-06-27 00:27:11 UTC
(In reply to Peter Sliepenbeek from comment #0)
> It might be possible to solve this slot collision
> by applying all of the following changes:
>    - dev-libs/botan-1.10.12 (Change USE: +bindist)
>    - dev-libs/openssl-1.0.2h (Change USE: +bindist)

Now that we know that it's unsolvable with USE=bindist, we can conclude that the above message is misleading, though not entirely wrong because it's qualified with the word "might".
Comment 13 Zac Medico gentoo-dev 2016-06-27 04:42:17 UTC
I suppose we could avoid misleading suggestions like this by making it search for dependencies that it would break. In the above case, it would only have to check the reverse dependencies of dev-libs/botan-1.10.12 in order to see that the suggestion breaks the dev-libs/botan[-bindist] dependency of dev-qt/qt-creator.
Comment 14 Zac Medico gentoo-dev 2016-08-17 20:17:51 UTC
To clarify, you must disable USE=bindist for all those packages if you want to install dev-qt/qt-creator. That's a consequence of how the dependencies are specified. If you think the dependencies are specified incorrectly, then you can file new bug(s) for the dev-qt/qt-creator package and/or its dependencies.