Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 601898 - sys-apps/portage: slot conflict during ncurses-6 upgrade, with no parents that aren't satisfied by other packages in this slot
Summary: sys-apps/portage: slot conflict during ncurses-6 upgrade, with no parents tha...
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-07 11:50 UTC by wu
Modified: 2017-07-04 17:13 UTC (History)
3 users (show)

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


Attachments
screenshot (update.jpeg,78.05 KB, image/jpeg)
2016-12-07 11:50 UTC, wu
Details
portage configuration (package.use,7.51 KB, text/plain)
2016-12-09 11:24 UTC, wu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description wu 2016-12-07 11:50:45 UTC
Created attachment 455386 [details]
screenshot

unable to update by doing #emerge -avutDN world immediately. this issue got resolved by following steps:
#emerge --unmerge ncurses
#emerge @preserved-rebuild
#emerge -avutDN world
Comment 1 Zac Medico gentoo-dev 2016-12-07 16:55:23 UTC
Please post `emerge --info` so that we know your portage version.

Have you tried it with --backtrack=30 as suggested in the emerge message?

If a larger --backtrack values does not help, then the symptom is similar to bug 595224, but the underlying problem is that emerge fails to trigger a rebuild for some reason.

If --backtrack=30 doesn't help, and you can still reproduce the problem, then please attach a snapshot of your portage configuration created as follows:

tar -cJf /tmp/config.tar.xz -C / ./etc/portage --exclude CONTENTS --exclude '*.ebuild' --exclude environment.bz2 --exclude 'NEEDED*' ./var/db/pkg $(cd / && echo ./var/lib/portage/world*)
Comment 2 Zac Medico gentoo-dev 2016-12-07 16:59:29 UTC
I'm posting the conflict message here for reference:

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

sys-libs/ncurses:0

  (sys-libs/ncurses-6.0-r1:0/6::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (sys-libs/ncurses-5.9-r5-5:0/5::gentoo, ebuild scheduled for merge) pulled in by
    sys-libs/ncurses:0/5= required by (dev-util/cmake-3.5.2-r1:0/0::gentoo, installed)
                             ^^^^^
Comment 3 wu 2016-12-09 11:18:52 UTC
(In reply to Zac Medico from comment #1)
> Please post `emerge --info` so that we know your portage version.
> 
> Have you tried it with --backtrack=30 as suggested in the emerge message?
> 
> If a larger --backtrack values does not help, then the symptom is similar to
> bug 595224, but the underlying problem is that emerge fails to trigger a
> rebuild for some reason.
> 
> If --backtrack=30 doesn't help, and you can still reproduce the problem,
> then please attach a snapshot of your portage configuration created as
> follows:
> 
> tar -cJf /tmp/config.tar.xz -C / ./etc/portage --exclude CONTENTS --exclude
> '*.ebuild' --exclude environment.bz2 --exclude 'NEEDED*' ./var/db/pkg $(cd /
> && echo ./var/lib/portage/world*)

by executing 
> tar -cJf /tmp/config.tar.xz -C / ./etc/portage --exclude CONTENTS --exclude
> '*.ebuild' --exclude environment.bz2 --exclude 'NEEDED*' ./var/db/pkg $(cd /
> && echo ./var/lib/portage/world*)
and nothing happens
Comment 4 wu 2016-12-09 11:19:58 UTC
localhost wu # emerge --info
Portage 2.3.0 (python 3.4.5-final-0, default/linux/amd64/13.0/no-multilib, gcc-4.9.3, glibc-2.22-r4, 4.4.26-gentoo x86_64)
=================================================================
System uname: Linux-4.4.26-gentoo-x86_64-Intel-R-_Celeron-R-_CPU_E3300_@_2.50GHz-with-gentoo-2.2
KiB Mem:     5970248 total,   4420596 free
KiB Swap:          0 total,         0 free
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.5.2-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.22.4::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.9.6-r4::gentoo, 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: git
    sync-uri: git://github.com/gentoo/gentoo
    priority: -1000

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -fomit-frame-pointer -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/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="-march=native -O2 -fomit-frame-pointer -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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirrors.sohu.com/gentoo"
LANG="zh_CN.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
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 acl amd64 berkdb bzip2 cli cracklib crypt cxx dri fortran gdbm i18n iconv ipv6 m17n mmx mmxext modules ncurses nls nptl openmp pam pcre policykit pulseaudio readline seccomp session sse sse2 ssl systemd tcpd unicode xattr 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="mmx mmxext sse sse2" 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" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" L10N="zh-CN en de fr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="intel" 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 5 wu 2016-12-09 11:24:49 UTC
Created attachment 455610 [details]
portage configuration
Comment 6 Zac Medico gentoo-dev 2016-12-09 16:17:13 UTC
(In reply to wu from comment #3)
> (In reply to Zac Medico from comment #1)
> > tar -cJf /tmp/config.tar.xz -C / ./etc/portage --exclude CONTENTS --exclude
> > '*.ebuild' --exclude environment.bz2 --exclude 'NEEDED*' ./var/db/pkg $(cd /
> > && echo ./var/lib/portage/world*)
> and nothing happens

Please attach /tmp/config.tar.xz created by that command.
Comment 7 wu 2016-12-10 12:22:47 UTC
executing # tar -xf /tmp/config.tar>test, is there no output.
Comment 8 Pacho Ramos gentoo-dev 2017-07-01 09:46:13 UTC
As a side note, I have just suffered from this issue when trying to update a really old setup. It was also failing with --backtrack=10000. But, in my case, it was solved simply because there were two blockers: one was this ncurses one, the other was a conflict between net-analyzer/arping and net-misc/iputils[arping]. 

I simply unmerged net-analyzer/arping and, re-running emerge with --backtrack=10000, emerge was able to handle all the conflicts and it is now updating :)

Then, maybe this issue is faced when another block is around leading to a misleading message suggesting the fault is on ncurses side, even if it can be solved once the other blocker is manually handled before
Comment 9 Zac Medico gentoo-dev 2017-07-04 17:13:20 UTC
For any nonsensical conflicts involving built slot operator deps, you should use --ignore-built-slot-operator-deps=y as suggested 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

I always use --ask, so that it will prompt me for autounmask configuration changes.

For world updates, I always use --ignore-built-slot-operator-deps=y until I have made all necessary configuration changes. Only after I have made all necessary configuration changes (includes changes necessary to solve blockers), and the  dependency calculation succeeds, I remove --ignore-built-slot-operator-deps=y from the command line. Also see bug 598503.