# emerge -pv qtads These are the packages that would be merged, in order: Calculating dependencies... done! emerge: there are no ebuilds built with USE flags to satisfy "media-libs/sdl-mixer[midi,vorbis]". !!! One of the following packages is required to complete your request: - media-libs/sdl-mixer-1.2.12::gentoo (Change USE: +midi, this change violates use flag constraints defined by media-libs/sdl-mixer-1.2.12: 'midi? ( any-of ( timidity fluidsynth ) ) timidity? ( midi ) fluidsynth? ( midi )') (dependency required by "games-engines/qtads-2.1.3" [ebuild]) (dependency required by "qtads" [argument]) Reproducible: Always
USE="midi timidity" emerge -pv sdl-mixer qtads -> it works, no idea why portage is showing that error, it should simply show sdl-mixer wanting to enable either timidity or fluidsynth
I mean, why qtads requiring "midi" is a violation, it's app to user to enable wanted timidity/fluidsynth USE flag for sdl-mixer, not qtads work, no?
(In reply to comment #2) > I mean, why qtads requiring "midi" is a violation, it's app to user to > enable wanted timidity/fluidsynth USE flag for sdl-mixer, not qtads work, no? The message says that qtads wants sdl-mixer with +midi. Now sdl-mixer has a REQUIRED_USE, which is not satisfied if midi is enabled. Since portage can't give REQUIRED_USE suggestions, it just prints the violated constraint.
This is very similar to bug 403207.
One workaround would be to default enable one provider (like timidity for example, as it seems to be more commonly used) as , reading the ebuild, it seems the extra deps will only be pulled in as soon as user enables "midi" USE flag too
Ah, no, that doesn't work as "mikmod" tries to enable "mod" always.. then both should be enabled at the same time :S