For some reason, on "emerge -pv extreme-tuxracer", emerge suggests that USE=mikmod should be enabled, but then claims that this would violate a USE restraint: emerge: there are no ebuilds built with USE flags to satisfy "media-libs/sdl-mixer[mikmod,vorbis]". !!! One of the following packages is required to complete your request: - media-libs/sdl-mixer-1.2.12-r1::gentoo (Change USE: +mikmod, this change violates use flag constraints defined by media-libs/sdl-mixer-1.2.12-r1: 'midi? ( any-of ( timidity fluidsynth ) ) timidity? ( midi ) fluidsynth? ( midi ) mp3? ( any-of ( smpeg mad ) ) smpeg? ( mp3 ) mad? ( mp3 ) mod? ( any-of ( mikmod modplug ) ) mikmod? ( mod ) modplug? ( mod )') (dependency required by "games-action/extreme-tuxracer-0.5_beta" [ebuild]) (dependency required by "extreme-tuxracer" [argument]) But in fact, it just needs to request "Change USE: +mikmod +mod", and there is no conflict. 'USE="mikmod mod" emerge -pv extreme-tuxracer' reports no problems. I am used to seeing this error message when a "Change USE" request would violate an exactly-one-of requirement, but I don't understand why it thinks there is a problem here.
the mikmod use flag requires that the mod use flag be set in sdl-mixer.
I myself understand what flags are required and need to be set, but emerge's output is misleading or just flat out wrong. It should suggest enabling both USE flags, it should not say anything about "violates use flag constraints".
*** This bug has been marked as a duplicate of bug 403207 ***