Summary: | backtracking aborted after 1 tries, but succeeds after package.masking: (sys-libs/ncurses-5.9-r5:0/5::gentoo, ebuild scheduled for merge) does not satify all version requirements. (sys-libs/ncurses-6.0-r1:0/6::gentoo, installed) has pending USE changes. | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Dennis Schridde <dschridde+gentoobugs> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | che, esigra |
Priority: | Normal | Keywords: | InVCS |
Version: | 2.2 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 300071, 549914 | ||
Attachments: |
emerge --update --ask --deep --newuse --newrepo @world --backtrack=1000 --verbose-conflicts --debug (part 1/2)
emerge --update --ask --deep --newuse --newrepo @world --backtrack=1000 --verbose-conflicts --debug (part 2/2) config.tar.xz (part 1/2) config.tar.xz (part 2/2) |
Description
Dennis Schridde
2015-12-06 22:32:43 UTC
I rebuilt all packages depending on ncurses [emerge -1a $(for p in $(q depends -Q sys-libs/ncurses) ; do echo =$p ; done)], to exclude the possibility that this is an issue with the subslot= operator. But the issue persists afterwards. Created attachment 418842 [details]
emerge --update --ask --deep --newuse --newrepo @world --backtrack=1000 --verbose-conflicts --debug (part 1/2)
--debug gives vital information about this:
Starting slot conflict handler
New configuration:
(sys-libs/ncurses-5.9-r5:0/5::gentoo, ebuild scheduled for merge)
(sys-libs/ncurses-5.9-r5:0/5::gentoo, ebuild scheduled for merge) does not satify all version requirements. Rejecting configuration.
New configuration:
(sys-libs/ncurses-6.0-r1:0/6::gentoo, installed)
(sys-libs/ncurses-6.0-r1:0/6::gentoo, installed) has pending USE changes. Rejecting configuration.
The attached file is part 1/2, created using `xz < portage.debug.log | split -b 1000k - portage.debug.log.xz.part`. You can stitch both parts together and get the uncompressed logfile, by executing `cat portage.debug.log.xz.part* | unxz > portage.debug.log`
Created attachment 418844 [details]
emerge --update --ask --deep --newuse --newrepo @world --backtrack=1000 --verbose-conflicts --debug (part 2/2)
Another riddle is why emerge wants to install chrome-binary-plugins:beta. :stable should be perfectly sufficient... I was able to aid emerge in resolving this by masking the following packages in /etc/portage/package.mask: ``` # Creates slot conflicts? www-plugins/chrome-binary-plugins:beta www-plugins/chrome-binary-plugins:unstable # Creates slot conflicts? sys-libs/ncurses:0/5 sys-libs/ncurses:5/6 ``` So something very fishy is going on here that causes emerge to abort backtracking after just one try, even though the solution is rather obvious. I wonder if bug 566024 plays a role here. Please attach a tarball of your configuration, created as follows: tar -cJf /tmp/config.tar.xz -C / ./etc/portage ./var/db/pkg $(cd / && echo ./var/lib/portage/world*) --exclude CONTENTS --exclude '*.ebuild' --exclude environment.bz2 --exclude 'NEEDED*' Created attachment 419068 [details]
config.tar.xz (part 1/2)
In a Fish shell:
# tar -cJf /tmp/config.tar.xz -C / ./etc/portage ./var/db/pkg (cd / ; and ls ./var/lib/portage/world*) --exclude CONTENTS --exclude '*.ebuild' --exclude environment.bz2 --exclude 'NEEDED*'
Created attachment 419070 [details]
config.tar.xz (part 2/2)
I can reproduce this problem with your attached configuration. The debug log shows the initial unexpected choice here: Parent: (dev-util/android-studio-1.5.1.0.141.2456560:0/0::gentoo, installed) Depstring: || ( >=sys-libs/ncurses-5.9-r3:5/5[abi_x86_32(-)] >=sys-libs/ncurses-5.9-r3:0/5[abi_x86_32(-)] ) Priority: runtime ebuild: sys-libs/ncurses-5.9-r101::gentoo installed: sys-libs/ncurses-5.9-r101::gentoo ebuild: sys-libs/ncurses-6.0::gentoo ebuild: sys-libs/ncurses-5.9-r5::gentoo ebuild: sys-libs/ncurses-5.9-r5::gentoo Candidates: ['>=sys-libs/ncurses-5.9-r3:0/5[abi_x86_32(-)]'] ebuild: sys-libs/ncurses-5.9-r5::gentoo I'll have to debug it with pdb. The problem occurs inside _dep_check_composite_db._visible where it returns False after the highest_visible comparison for the installed sys-libs/ncurses-5.9-r101:5/5 instance. In this case highest_visible is sys-libs/ncurses-6.0:5/6, which is the highest visible match for sys-libs/ncurses:5 (pkg.slot_atom). Returning False based on this comparison is flawed, since sys-libs/ncurses-6.0:5/6 doesn't match the subslot of the =sys-libs/ncurses-5.9-r3:5/5 atom which is being satisfied. There's a working patch in the following branch: https://github.com/zmedico/portage/tree/bug_567686 You can test it like this: echo '=sys-apps/portage-9999 **' >> /etc/portage/package.accept_keywords portage_LIVE_BRANCH=bug_567686 \ portage_LIVE_REPO=https://github.com/zmedico/portage.git \ emerge -1 =sys-apps/portage-9999 I've posted it for review here: https://archives.gentoo.org/gentoo-portage-dev/message/8c5dea68435f05887609521810accacb (In reply to Zac Medico from comment #11) > There's a working patch in the following branch: Thanks Zac! I did as you said: I confirmed again that the update will still not work, then updated portage to the branch you pointed me to. Afterwards I did not see the ncurses slot issue anymore, but the chrome-binary-plugins blocker was still present: [blocks B ] www-plugins/chrome-binary-plugins:stable ("www-plugins/chrome-binary-plugins:stable" is blocking www-plugins/chrome-binary-plugins-48.0.2564.41_beta1) [blocks B ] www-plugins/chrome-binary-plugins:beta ("www-plugins/chrome-binary-plugins:beta" is blocking www-plugins/chrome-binary-plugins-47.0.2526.80_p1) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (www-plugins/chrome-binary-plugins-48.0.2564.41_beta1:beta/beta::gentoo, ebuild scheduled for merge) pulled in by www-plugins/chrome-binary-plugins[widevine(-)] required by (www-client/chromium-47.0.2526.80:0/0::gentoo, installed) www-plugins/chrome-binary-plugins[flash] required by (www-plugins/freshplayerplugin-0.3.3-r1:0/0::gentoo, installed) (www-plugins/chrome-binary-plugins-47.0.2526.80_p1:stable/stable::gentoo, installed) pulled in by www-plugins/chrome-binary-plugins:stable required by @selected (In reply to Dennis Schridde from comment #12) > Thanks Zac! I did as you said: I confirmed again that the update will still > not work, then updated portage to the branch you pointed me to. Afterwards I > did not see the ncurses slot issue anymore, Great, thanks for testing. > but the chrome-binary-plugins > blocker was still present: > > [blocks B ] www-plugins/chrome-binary-plugins:stable > ("www-plugins/chrome-binary-plugins:stable" is blocking > www-plugins/chrome-binary-plugins-48.0.2564.41_beta1) > [blocks B ] www-plugins/chrome-binary-plugins:beta > ("www-plugins/chrome-binary-plugins:beta" is blocking > www-plugins/chrome-binary-plugins-47.0.2526.80_p1) > > * Error: The above package list contains packages which cannot be > * installed at the same time on the same system. > > (www-plugins/chrome-binary-plugins-48.0.2564.41_beta1:beta/beta::gentoo, > ebuild scheduled for merge) pulled in by > www-plugins/chrome-binary-plugins[widevine(-)] required by > (www-client/chromium-47.0.2526.80:0/0::gentoo, installed) > www-plugins/chrome-binary-plugins[flash] required by > (www-plugins/freshplayerplugin-0.3.3-r1:0/0::gentoo, installed) > > (www-plugins/chrome-binary-plugins-47.0.2526.80_p1:stable/stable::gentoo, > installed) pulled in by > www-plugins/chrome-binary-plugins:stable required by @selected This should solve the blocker: emerge --deselect www-plugins/chrome-binary-plugins:stable Apparently you need the beta slot to satisfy dependencies of www-client/chromium-47.0.2526.80 and www-plugins/freshplayerplugin-0.3.3-r1. (In reply to Zac Medico from comment #13) > Apparently you need the beta slot to satisfy dependencies of > www-client/chromium-47.0.2526.80 and www-plugins/freshplayerplugin-0.3.3-r1. I don't. If I mask :beta and :unstable as outlined above, portage reports no issue anymore. (In reply to Dennis Schridde from comment #14) > (In reply to Zac Medico from comment #13) > > Apparently you need the beta slot to satisfy dependencies of > > www-client/chromium-47.0.2526.80 and www-plugins/freshplayerplugin-0.3.3-r1. > > I don't. If I mask :beta and :unstable as outlined above, portage reports no > issue anymore. I see, then it's a case of bug 469648. It tries to pull in the highest visible version to satisify those dependencies, not accounting for blockers, and finally it realizes that there are unsatisfied blockers. This is in the master branch: https://gitweb.gentoo.org/proj/portage.git/commit/?id=7cbd04cd62c8f13ed41e07ff8bc9b7e5d5ac700b i got the same problem here: * IMPORTANT: 2 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. [nomerge ] mail-client/claws-mail-3.13.1 [nomerge ] dev-libs/libgdata-0.17.4 [ebuild U ] net-libs/gnome-online-accounts-3.18.3 [3.18.2.1] [nomerge ] games-strategy/openra-20150919 [ebuild U ] dev-lang/mono-4.2.2.10 [4.2.1.124] [ebuild rR ] net-wireless/spectools-2011.08.1_p20140618-r1 [ebuild rR ] x11-libs/vte-0.28.2-r207 [ebuild rR ] media-sound/alsa-utils-1.1.0 [ebuild rR ] sys-process/htop-1.0.3-r1 [ebuild rR ] app-editors/nano-2.5.0 [ebuild rR ] sys-boot/grub-2.02_beta2-r8 [ebuild rR ] net-analyzer/iptraf-ng-1.1.4-r2 [ebuild rR ] sys-devel/gdb-7.10.1 [ebuild rR ] dev-lang/ghc-7.10.2-r1 [ebuild rR ] x11-terms/xterm-320 [ebuild rR ] sys-process/procps-3.3.11-r3 [ebuild rR ] sys-apps/openrc-0.19.1 [nomerge ] net-print/hplip-3.15.11 [ebuild U ] net-print/cups-filters-1.5.0 [1.4.0] [ebuild r U ] sys-libs/ncurses-6.0-r1 [5.9-r5] [ebuild rR ] app-text/aspell-0.60.6.1-r2 [ebuild rR ] dev-lang/ruby-2.1.8 [ebuild rR ] media-video/vlc-2.2.1-r1 [ebuild rR ] dev-lang/ruby-2.0.0_p648 [ebuild rR ] dev-lang/ruby-2.2.4 [ebuild rR ] net-wireless/wpa_supplicant-2.5-r1 [ebuild rR ] media-sound/lame-3.99.5-r1 [ebuild rR ] sys-apps/less-481 [ebuild rR ] sys-apps/util-linux-2.27.1 [ebuild rR ] sys-libs/ncurses-5.9-r5 [nomerge ] dev-libs/weston-1.9.0 [ebuild U ] dev-libs/libinput-1.1.3 [1.1.2] [nomerge ] app-office/libreoffice-5.0.4.2 [nomerge ] dev-libs/liborcus-0.7.1 [nomerge ] dev-libs/libixion-0.9.1 [ebuild R ] dev-libs/boost-1.57.0 [nomerge ] media-sound/clementine-1.2.3 [nomerge ] dev-cpp/gmock-1.7.0-r1 [ebuild U ] dev-cpp/gtest-1.7.0-r1 [1.7.0] [nomerge ] app-text/texlive-2015 [nomerge ] app-text/xindy-2.4 [nomerge ] dev-lisp/clisp-2.49-r8 [nomerge ] x11-misc/imake-1.0.7 [ebuild U ] x11-misc/xorg-cf-files-1.0.6 [1.0.5] [nomerge ] dev-libs/weston-1.9.0 [nomerge ] x11-base/xorg-server-1.17.4 [ebuild U ] x11-libs/pixman-0.33.6 [0.33.4] [nomerge ] xfce-base/xfce4-meta-4.12 [nomerge ] xfce-base/xfce4-session-4.12.1 [nomerge ] x11-misc/xscreensaver-5.34 [ebuild U ] x11-libs/libXi-1.7.6 [1.7.5] [ebuild U ] dev-util/strace-4.11 [4.10] [ebuild U ] net-misc/rsync-3.1.2 [3.1.1] [nomerge ] www-client/midori-0.5.11 [nomerge ] dev-libs/libzeitgeist-0.3.18 [nomerge ] gnome-extra/zeitgeist-0.9.16 [ebuild U ] dev-libs/xapian-1.3.3-r2 [1.3.3-r1] !!! 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:0/5::gentoo, ebuild scheduled for merge) pulled in by >=sys-libs/ncurses-5.2-r2:0/5= required by (sys-apps/texinfo-6.0:0/0::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.2:0/5= required by (sys-devel/bc-1.06.95-r2:0/0::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.7-r7:0/5= required by (dev-libs/libcdio-0.93:0/15::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.9-r3:0/5=[abi_x86_32(-),abi_x86_64(-)] required by (sys-devel/llvm-3.7.0-r4:0/3.7.0::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.9-r3:0/5=[abi_x86_32(-),abi_x86_64(-)] required by (media-libs/aalib-1.4_rc5-r6:0/0::gentoo, installed) ^^^^^ sys-libs/ncurses:0/5= required by (app-crypt/pinentry-0.9.7:0/0::gentoo, installed) ^^^^^ sys-libs/ncurses:0/5= required by (dev-util/cmake-3.4.1:0/0::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.2:0/5= required by (dev-lang/python-3.5.1-r1:3.5/3.5m::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.2:0/5= required by (dev-lang/python-3.4.3-r6:3.4/3.4m::gentoo, installed) ^^^^^ sys-libs/ncurses:0/5= required by (dev-scheme/guile-1.8.8-r2:12/12::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.7-r7:0/5= required by (sys-apps/gptfdisk-1.0.1:0/0::gentoo, installed) ^^^^^ sys-libs/ncurses:0/5= required by (sys-devel/gettext-0.19.6-r1:0/0::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.7-r7:0/5= required by (sys-block/parted-3.2-r1:0/0::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.2:0/5= required by (dev-lang/python-2.7.11-r1:2.7/2.7::gentoo, installed) ^^^^^ >=sys-libs/ncurses-5.2:0/5=[abi_x86_32(-),abi_x86_64(-)] required by (app-emulation/wine-1.7.55:0/0::gentoo, installed) ^^^^^ (In reply to Zac Medico from comment #16) > This is in the master branch: > > https://gitweb.gentoo.org/proj/portage.git/commit/ > ?id=7cbd04cd62c8f13ed41e07ff8bc9b7e5d5ac700b This was released in v2.2.27: # git tag --contains 7cbd04cd62c8f13ed41e07ff8bc9b7e5d5ac700b v2.2.27 |