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

Bug 559224

Summary: portage-2.2.20.1 incomplete dependency resolution on emerge -uDN @world
Product: Portage Development Reporter: Matthias Maier <tamiko>
Component: Core - DependenciesAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: esigra
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 155723    
Attachments: emerge --info

Description Matthias Maier gentoo-dev 2015-08-31 06:27:45 UTC
Created attachment 410666 [details]
emerge --info

I ended up with the following dependency chain on my userland:

@virtualization           (selected, i.e., listed in world_sets)
  app-emulation/qemu-2.4.0:0/0::gentoo
    in ebuild: >=virtual/libusb-1-r2:1/1::gentoo
    in vdb:    (dependency on dev-libs/libusb)

(and multiple others depending on virtual/libusb:1)



and with virtual/libusb-1-r2 (which is ~amd64) installed on my system without an
entry in package.accept_keywords (due to whatever reason I lost the entry...):

jackdaw ~ # eix -I virtual/libusb
[?] virtual/libusb
     Available versions:  
     (0)    0-r2{tbz2}
     (1)    1-r1 ~1-r2{tbz2}
     Installed versions:  0-r2{tbz2}(03:19:19 AM 06/19/2014)(...)
                          1-r2(1){tbz2}(12:24:09 AM 08/14/2015)(...)



However, portage is happy with this situation:

jackdaw ~ # emerge --with-bdeps=y -uDN @world                                                                                                                                         
Calculating dependencies... done!
Nothing to merge; quitting.



Trying to reemerge the virtual results in an error (as it should do):

jackdaw ~ # emerge -1 "virtual/libusb:1"

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

Calculating dependencies... done!
[ebuild   R   ~] virtual/libusb-1-r2 

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by virtual/libusb:1 (argument)
=virtual/libusb-1-r2 ~amd64

Would you like to add these changes to your config files? [Yes/No]



Also unmerging and reemerging:

jackdaw ~ # emerge --unmerge virtual/libusb:1
jackdaw ~ # emerge -uDN @world

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

Calculating dependencies... done!
[ebuild  NS   ~] virtual/libusb-1-r2 [0-r2] USE="udev" ABI_X86="(64) -32 (-x32)" 

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by app-text/calibre-2.35.0::gentoo
# required by @desktop
# required by @selected
# required by @world (argument)
=virtual/libusb-1-r2 ~amd64



I have preserved a snapshot of this userland for further investigation.
Comment 2 Matthias Maier gentoo-dev 2015-09-18 22:59:43 UTC
I just hit another instance of this issue (I believe):

   jackdaw ~ # emerge --noreplace @basesystem

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

   Calculating dependencies... done!

   Nothing to merge; quitting.



   jackdaw ~ # emerge -1 @basesystem

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

   [...]

   The following keyword changes are necessary to proceed:
    (see "package.accept_keywords" in the portage(5) man page for more details)
   # required by @basesystem (argument)
   =net-firewall/nftables-0.4 ~amd64


And indeed:

  jackdaw ~ # eix -I nftables
  [?] net-firewall/nftables
     Available versions:  ~0.4{tbz2} {debug +readline}
     Installed versions:  0.4{tbz2}(10:57:39 PM 09/17/2015)(readline -debug)


I have preserved a snapshot of this userland for further investigation.