Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 623236 - sys-apps/portage: add a better explanation for handling exactly-one-of REQUIRED_USE constraint
Summary: sys-apps/portage: add a better explanation for handling exactly-one-of REQUIR...
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - External Interaction (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
Depends on:
Reported: 2017-07-01 08:06 UTC by Pacho Ramos
Modified: 2020-04-18 09:48 UTC (History)
2 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2017-07-01 08:06:46 UTC
Looking to this error:
emerge: there are no ebuilds built with USE flags to satisfy ">=x11-libs/qscintilla-2.9.3-r2:=[qt5(+)]".
!!! One of the following packages is required to complete your request:
- x11-libs/qscintilla-2.9.4::gentoo (Change USE: +qt5, this change violates use flag constraints defined by x11-libs/qscintilla-2.9.4: 'exactly-one-of ( qt4 qt5 )')
(dependency required by "sci-mathematics/octave-4.2.1::gentoo[gui]" [ebuild])
(dependency required by "sci-mathematics/qtoctave-0.10.1-r1::gentoo" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

I think that maybe wording could be changed a way to try to help administrators about how to solve this. Also, this king of "exactly-one-of" constraint if likely going to be more frequent in the future as more apps will migrate from qt4 to qt5.

- I would change the wording of "Change USE: +qt5" to something more explicit like "Needs to be built with USE +qt5". Even "+" could be change to "enabled" and the final message look like "Needs to be built with USE qt5 enabled"
- Would it be possible to translate the catched exactly-one-of problem to report a message like "Ensure x11-libs/qscintilla-2.9.4 is going to be merged with only one of ( qt4 qt5 )" ? And maybe add a reference to the man page for dealing with package.use entries

Thanks a lot :)