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

Bug 527604

Summary: Portage claims ghostscript-gpl needs gtk+-3 when it's actually other package wanting it
Product: Portage Development Reporter: Honza <hkmaly>
Component: Core - Ebuild SupportAssignee: Portage team <dev-portage>
Status: RESOLVED DUPLICATE    
Severity: normal CC: esigra, rafalklys
Priority: Normal    
Version: 2.2   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Honza 2014-10-31 11:24:36 UTC
After masking x11-libs/gtk+-3* when trying to emerge xfce-base/xfce4-session, emerge --ask -v -t reported that app-text/ghostscript-gpl requires gtk+-3 in the "The following mask changes are necessary to proceed" section and in the tree it even accused aumix from wanting it. When I actually REMOVED x11-libs/gtk+-3* from /usr/portage, portage admitted that the REAL reason why gtk+-3* is required is x11-misc/xdg-user-dirs-0.15[gtk]. Which I fixed (turning off the gtk use flag on this package) and emerge successfully proceeded.

Note: Not sure why app-text/ghostscript-gpl got to the list at all, it was already installed, in newest version and use flags didn't changed, but I'm already used to portage randomly noticing something is not new enough when compiling packages indirectly depending on it.

I suppose problem is in the gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) dependency ghostscript have - it is normally fulfilled by gtk+:2, but when gtk+:3 enters the list of evaluated packages, this detail is forgotten.
Comment 1 Rafał Kłys 2016-03-06 21:42:59 UTC
I observed the same issue today (I also have gtk+:3 masked):

> ...
> Total: 71 packages (65 upgrades, 5 new, 1 in new slot), Size of downloads: 477258 KiB
> Conflict: 1 block
> 
> The following mask changes are necessary to proceed:
>  (see "package.unmask" in the portage(5) man page for more details)
> # required by app-text/ghostscript-gpl-9.15-r1::gentoo[gtk]
> # required by @selected
> # required by @world (argument)
> # /etc/portage/package.mask:
> =x11-libs/gtk+-3.18.7

But ghoscrtipt-gpl should be fine with only gtk+:2 as it have 'gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )'.

So I tried the trick with 'rm -rf /usr/portage/x11-libs/gtk+/gtk+-3*' as in the reporter comment, then portage showed me this: 

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

> ...
> emerge: there are no ebuilds to satisfy ">=x11-libs/gtk+-3.15:3[X?,wayland?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]".
> (dependency required by "media-libs/gst-plugins-bad-1.6.3::gentoo" [ebuild])
> (dependency required by "media-plugins/gst-plugins-resindvd-1.6.3::gentoo" [ebuild])
> (dependency required by "media-plugins/gst-plugins-meta-1.6.3::gentoo[dvd]" [ebuild])
> (dependency required by "@selected" [set])
> (dependency required by "@world" [argument])

Which is true, as the gst-plugins-bad-1.6.3 have 'gtk? ( >=x11-libs/gtk+-3.15:3[X?,wayland?,${MULTILIB_USEDEP}] )'
Comment 2 Rafał Kłys 2016-03-06 21:47:20 UTC
> Which is true, as the gst-plugins-bad-1.6.3 have 'gtk? (
> >=x11-libs/gtk+-3.15:3[X?,wayland?,${MULTILIB_USEDEP}] )'

I currently have gst-plugins-bad-1.4.5 installed, which does not depends on gtk+, the 1.6.3 introduced this dependency, which Portage does not reported correctly in error message, but showed me the ghoscript-gpl one.
Comment 3 Zac Medico gentoo-dev 2016-03-06 22:23:20 UTC

*** This bug has been marked as a duplicate of bug 419381 ***