Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 550742 - sys-apps/portage-2.2.20: qtcore dev-libs/icu:= rdep is causing portage to require a specific subslot
Summary: sys-apps/portage-2.2.20: qtcore dev-libs/icu:= rdep is causing portage to req...
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 300071
  Show dependency tree
 
Reported: 2015-05-29 16:42 UTC by Joe Harvell
Modified: 2017-06-25 17:05 UTC (History)
3 users (show)

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


Attachments
emerge --info output (emerge-info.txt,6.32 KB, text/plain)
2015-05-29 16:44 UTC, Joe Harvell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Harvell 2015-05-29 16:42:40 UTC
emerge -avuDN @world output:

Total: 393 packages (303 upgrades, 2 downgrades, 28 new, 3 in new slots, 57 reinstalls, 6 uninstalls), Size of downloads: 1 725 627 KiB
Fetch Restriction: 2 packages
Conflict: 29 blocks (1 unsatisfied)

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

dev-libs/icu:0

  (dev-libs/icu-55.1:0/55::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (dev-libs/icu-54.1-r1:0/54a::gentoo, installed) pulled in by
    dev-libs/icu:0/54a= required by (dev-qt/qtcore-5.4.1:5/5::gentoo, installed)
                ^^^^^^^                                                                                             
    (and 1 more with the same problem)



From qtcore-5.4.1.ebuild, both DEPEND and RDEPEND contain the following:

        icu? ( dev-libs/icu:= )

According to https://devmanual.gentoo.org/ebuild-writing/eapi/, this is supposed to mean that qtcore needs to be rebuilt if icu has a subslot change.  But instead, portage incorrectly believes qtcore requires exactly the version it was built against.  So emerge -avuDN @world fails.  I haven't found a work around.
Comment 1 Joe Harvell 2015-05-29 16:44:01 UTC
Created attachment 404280 [details]
emerge --info output
Comment 2 Joe Harvell 2015-05-29 17:30:08 UTC
I worked around this problem as follows:

emerge -C dev-qt/gtcore:4 dev-qt/qtwebkit:4
emerge -1v dev-libs/icu dev-qt/qtcore dev-libs/libxml2 dev-libs/boost app-text/texlive

Note that after running the emerge -C command above I tried emerge -avuDN @world and it still failed for the same reason.
Comment 3 Marcin Szamotulski 2017-06-25 12:52:46 UTC
I got the same problem but with `dev-db/sqlite-3.17.0` and `dev-libs/icu-58.1-r1`:

```
dev-libs/icu:0

  (dev-libs/icu-58.1-r1:0/58.1::gentoo, ebuild scheduled for merge) pulled in by
    dev-libs/icu:0/58.1=[abi_x86_32(-),abi_x86_64(-)] required by (dev-db/sqlite-3.17.0:3/3::gentoo, installed)
                ^^^^^^^^                                                                                                                           
    (and 11 more with the same problem)

  (dev-libs/icu-58.2-r1:0/58.2::gentoo, ebuild scheduled for merge) pulled in by
    dev-libs/icu:0/58.2= required by (dev-libs/libical-2.0.0-r2:0/2::gentoo, installed)
                ^^^^^^^^                                                                                                   
    (and 6 more with the same problem)
```

```
emerge -C icu sqlite
emerge sqlite
```

Fixed that for me.  I am actually hit by this error regularly when I am installing a new version of chrome.
Comment 4 Marcin Szamotulski 2017-06-25 13:41:18 UTC
Here is a more complete list of packages that trigger this problem (which I got running `emerge -DuNa world --verbose-conflicts`):
```
dev-libs/icu:0

  (dev-libs/icu-58.1-r1:0/58.1::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-libs/icu-4.8.1.1:0/58.1= required by (app-misc/tracker-1.10.5:0/100::gentoo, installed)
                          ^^^^^^^^                                                                                                   
    dev-libs/icu:0/58.1= required by (media-libs/libcdr-0.1.1:0/0::gentoo, installed)
                ^^^^^^^^                                                                                                 
    >=dev-libs/icu-3.8.1-r1:0/58.1= required by (net-libs/webkit-gtk-2.4.11-r1:3/25::gentoo, installed)
                           ^^^^^^^^                                                                                                        
    >=dev-libs/icu-3.6:0/58.1=[abi_x86_64(-)] required by (dev-libs/boost-1.62.0-r1:0/1.62.0::gentoo, installed)
                      ^^^^^^^^                                                                                                                      
    dev-libs/icu:0/58.1=[abi_x86_64(-)] required by (dev-libs/re2-0.2016.05.01:0/0.2016.05.01::gentoo, installed)
                ^^^^^^^^                                                                                                                             
    >=dev-libs/icu-51.2-r1:0/58.1=[abi_x86_32(-),abi_x86_64(-)] required by (dev-libs/libxml2-2.9.4-r1:2/2::gentoo, installed)
                          ^^^^^^^^                                                                                                                                
    >=dev-libs/icu-56:0/58.1= required by (net-libs/nodejs-7.10.0:0/0::gentoo, installed)
                     ^^^^^^^^                                                                                                
    >=dev-libs/icu-1.51:0/58.1= required by (dev-lang/spidermonkey-24.2.0-r3:24/24::gentoo, installed)
                       ^^^^^^^^                                                                                                           
    >=dev-libs/icu-4.0:0/58.1= required by (gnustep-base/gnustep-base-1.24.9-r1:0/0::gentoo, installed)
                      ^^^^^^^^                                                                                                             
    dev-libs/icu:0/58.1= required by (app-arch/unar-1.10.1:0/0::gentoo, installed)
                ^^^^^^^^                                                                                              
    >=dev-libs/icu-51.2-r1:0/58.1=[abi_x86_32(-),abi_x86_64(-)] required by (media-libs/harfbuzz-1.4.5:0/0.9.18::gentoo, installed)
                          ^^^^^^^^                                                                                                                                     

  (dev-libs/icu-58.2-r1:0/58.2::gentoo, installed) pulled in by
    >=dev-libs/icu-4.4:0/58.2= required by (dev-tex/bibtexu-3.71_p20160523:0/0::gentoo, installed)
                      ^^^^^^^^                                                                                                        
    dev-libs/icu:0/58.2= required by (dev-qt/qtwebkit-5.6.2:5/5.6::gentoo, installed)
                ^^^^^^^^                                                                                                 
    dev-libs/icu:0/58.2=[abi_x86_32(-),abi_x86_64(-)] required by (dev-qt/qtcore-4.8.7-r2:4/4::gentoo, installed)
                ^^^^^^^^                                                                                                                             
    dev-libs/icu:0/58.2= required by (www-client/chromium-59.0.3071.104:0/0::gentoo, installed)
                ^^^^^^^^                                                                                                           
    dev-libs/icu:0/58.2=[abi_x86_32(-),abi_x86_64(-)] required by (dev-db/sqlite-3.17.0:3/3::gentoo, installed)
                ^^^^^^^^                                                                                                                           
    dev-libs/icu:0/58.2= required by (dev-libs/libical-2.0.0-r2:0/2::gentoo, installed)
                ^^^^^^^^                                                                                                   
    dev-libs/icu:0/58.2= required by (dev-qt/qtcore-5.6.2-r1:5/5.6::gentoo, installed)
                ^^^^^^^^                                                                                                  
    dev-libs/icu:0/58.2= required by (gnome-extra/evolution-data-server-3.22.7:0/59::gentoo, installed)
```
Comment 5 Zac Medico gentoo-dev 2017-06-25 17:05:38 UTC
When you have conflicts involving built slot operator dependencies, you need to temporarily use --ignore-built-slot-operator-deps=y as described 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 ask me to write autounmask configuration changes.