Summary: | Confusing message for unsatisfied semantic-desktop= USE dependency | ||
---|---|---|---|
Product: | Portage Development | Reporter: | dE <de.techno> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
dE
2012-03-26 02:24:10 UTC
The relevant(In reply to comment #0) > This problem can be best understood with this thread - > > http://forums.gentoo.org/viewtopic-p-6995406.html#6995406 According to this message, your semantic-desktop USE setting differs for kde-base/kdeplasma-addons and kde-base/kdeplasma-addons: emerge: there are no ebuilds built with USE flags to satisfy ">=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=]". !!! One of the following packages is required to complete your request: - kde-base/kdelibs-4.7.4::gentoo (Change USE: -semantic-desktop) - kde-base/kdeplasma-addons-4.7.4::gentoo (Change USE: +semantic-desktop) (dependency required by "kde-base/kdeplasma-addons-4.7.4" [ebuild]) (dependency required by "@selected" [set]) (dependency required by "@world" [argument]) If you don't want semantic-desktop enabled for kdelibs, then disable it. This should do it: echo 'USE="${USE} -semantic-desktop"' >> /etc/make.conf Also, check /etc/portage/package.use and make sure it's not enabled there. Then rebuild kdelibs and try again. Make sure the flag is disabled by running this command: emerge -pv kde-base/kdelibs Then go ahead and rebuild it if it shows that semantic-desktop is disabled like you want. (In reply to comment #1) > > According to this message, your semantic-desktop USE setting differs for > kde-base/kdeplasma-addons and kde-base/kdeplasma-addons: > > emerge: there are no ebuilds built with USE flags to satisfy > ">=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=]". > !!! One of the following packages is required to complete your request: > - kde-base/kdelibs-4.7.4::gentoo (Change USE: -semantic-desktop) > - kde-base/kdeplasma-addons-4.7.4::gentoo (Change USE: +semantic-desktop) > (dependency required by "kde-base/kdeplasma-addons-4.7.4" [ebuild]) > (dependency required by "@selected" [set]) > (dependency required by "@world" [argument]) Yes, I want to build it without semantic-desktop > > If you don't want semantic-desktop enabled for kdelibs, then disable it. > This should do it: > > echo 'USE="${USE} -semantic-desktop"' >> /etc/make.conf > > Also, check /etc/portage/package.use and make sure it's not enabled there. > Then rebuild kdelibs and try again. Make sure the flag is disabled by > running this command: > > emerge -pv kde-base/kdelibs > > Then go ahead and rebuild it if it shows that semantic-desktop is disabled > like you want. It happens that I require that RSS USE with kde-base/plasma-workspace, thus enabled kde-base/kdelibs[semantic-desktop], kde-base/kdepimlib[semantic-desktop] (in package.use). $ cat /etc/portage/package.use | grep semantic-desktop kde-base/kdeplasma-addons -desktopglobe -semantic-desktop kde-base/kdelibs semantic-desktop kde-base/kdepimlibs semantic-desktop #kde-base/kdeplasma-addons semantic-desktop #kde-base/plasma-workspace semantic-desktop #kde-base/activitymanager semantic-desktop #kde-base/dolphin semantic-desktop #kde-base/gwenview semantic-desktop But I don't require it for anything else. Also why is it that equery results in blank answers? *** Bug 409715 has been marked as a duplicate of this bug. *** (In reply to comment #2) > It happens that I require that RSS USE with kde-base/plasma-workspace, thus > enabled kde-base/kdelibs[semantic-desktop], > kde-base/kdepimlib[semantic-desktop] (in package.use). > > $ cat /etc/portage/package.use | grep semantic-desktop > kde-base/kdeplasma-addons -desktopglobe -semantic-desktop > kde-base/kdelibs semantic-desktop > kde-base/kdepimlibs semantic-desktop > #kde-base/kdeplasma-addons semantic-desktop > #kde-base/plasma-workspace semantic-desktop > #kde-base/activitymanager semantic-desktop > #kde-base/dolphin semantic-desktop > #kde-base/gwenview semantic-desktop You don't need those settings, and you don't want them, so you should remove them. The relevant dependency atoms from kde-base/plasma-workspace-4.7.4 are: >=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=] >=kde-base/kdepimlibs-4.7.4:4[aqua=,semantic-desktop=] Those dependencies mean that you can disable semantic-desktop if you have it disabled in all of the packages. > But I don't require it for anything else. > > Also why is it that equery results in blank answers? I guess you're referring to this comment: http://forums.gentoo.org/viewtopic-p-6994046.html?sid=238d7061406d7a409e6685de806a16a5#6994046 There you ran "equery depends kde-base/kdepimlib" and you didn't spell it right (you forgot the "s" on the end), so it gave no results. (In reply to comment #4) > (In reply to comment #2) > > It happens that I require that RSS USE with kde-base/plasma-workspace, thus > > enabled kde-base/kdelibs[semantic-desktop], > > kde-base/kdepimlib[semantic-desktop] (in package.use). > > > > $ cat /etc/portage/package.use | grep semantic-desktop > > kde-base/kdeplasma-addons -desktopglobe -semantic-desktop > > kde-base/kdelibs semantic-desktop > > kde-base/kdepimlibs semantic-desktop > > #kde-base/kdeplasma-addons semantic-desktop > > #kde-base/plasma-workspace semantic-desktop > > #kde-base/activitymanager semantic-desktop > > #kde-base/dolphin semantic-desktop > > #kde-base/gwenview semantic-desktop > > You don't need those settings, and you don't want them, so you should remove > them. The relevant dependency atoms from kde-base/plasma-workspace-4.7.4 are: > > >=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=] > >=kde-base/kdepimlibs-4.7.4:4[aqua=,semantic-desktop=] > > Those dependencies mean that you can disable semantic-desktop if you have it > disabled in all of the packages. But I need semantic-desktop in kdelibs and kdepimlibs indirectly cause - equery depends kde-base/kdepimlibs * These packages depend on kde-base/kdepimlibs: ... kde-base/plasma-workspace-4.7.4 (rss ? >=kde-base/kdepimlibs-4.7.4:4[aqua=,semantic-desktop=]) ... I need that rss USE. The cat /etc/portage/package.use | grep semantic-desktop appears to be wrong, this's what I really meant - kde-base/kdeplasma-addons -desktopglobe -semantic-desktop kde-base/kdelibs semantic-desktop kde-base/kdepimlibs semantic-desktop kde-base/kdeplasma-addons -semantic-desktop kde-base/plasma-workspace -semantic-desktop kde-base/activitymanager -semantic-desktop kde-base/dolphin -semantic-desktop kde-base/gwenview -semantic-desktop i.e. I just need kde-base/kdelibs[semantic-desktop] and kde-base/kdepimlibs [semantic-desktop] for kde-base/plasma-workspace[rss]. For rest of the packages, I don't need it. Then - emerge -pv --newuse --autounmask=n world These are the packages that would be merged, in order: Calculating dependencies ... done! emerge: there are no ebuilds built with USE flags to satisfy ">=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=]". !!! One of the following packages is required to complete your request: - kde-base/kdelibs-4.7.4::gentoo (Change USE: -semantic-desktop) - kde-base/kdeplasma-addons-4.7.4::gentoo (Change USE: +semantic-desktop) (dependency required by "kde-base/kdeplasma-addons-4.7.4" [ebuild]) (dependency required by "@selected" [set]) (dependency required by "@world" [argument]) To me, this message looks like kde-base/kdeplasma-addons is a dependency of kde-base/kdelibs, but, it's not - equery depends kde-base/kdeplasma-addons * These packages depend on kde-base/kdeplasma-addons: So why does portage persist on kde-base/kdeplasma-addons[semantic-desktop]? (since kde-base/kdelibs[semantic-desktop] is required by me). After that -- (dependency required by "kde-base/kdeplasma-addons-4.7.4" [ebuild]) Which apparently makes no sense. PS: The intention of this bug report is to make emerge's messages clearer. > > > But I don't require it for anything else. > > > > Also why is it that equery results in blank answers? > > I guess you're referring to this comment: > > http://forums.gentoo.org/viewtopic-p-6994046. > html?sid=238d7061406d7a409e6685de806a16a5#6994046 > > There you ran "equery depends kde-base/kdepimlib" and you didn't spell it > right (you forgot the "s" on the end), so it gave no results. Yeah, stupid mistake. (In reply to comment #5) > PS: The intention of this bug report is to make emerge's messages clearer. The summary made me think that you were complaining about a dependency resolution problem rather than an output problem. So, I'll adjust the summary to reflect your intention. (In reply to comment #5) > emerge: there are no ebuilds built with USE flags to satisfy > ">=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=]". > !!! One of the following packages is required to complete your request: > - kde-base/kdelibs-4.7.4::gentoo (Change USE: -semantic-desktop) > - kde-base/kdeplasma-addons-4.7.4::gentoo (Change USE: +semantic-desktop) > (dependency required by "kde-base/kdeplasma-addons-4.7.4" [ebuild]) > (dependency required by "@selected" [set]) > (dependency required by "@world" [argument]) > > To me, this message looks like kde-base/kdeplasma-addons is a dependency of > kde-base/kdelibs, but, it's not - > > equery depends kde-base/kdeplasma-addons > * These packages depend on kde-base/kdeplasma-addons: > > So why does portage persist on kde-base/kdeplasma-addons[semantic-desktop]? > (since kde-base/kdelibs[semantic-desktop] is required by me). The intention of the message is to give you a choice between two possible actions. That's why it says "One of the following packages". It wants you to choose one of these package/USE combinations. > After that -- > > (dependency required by "kde-base/kdeplasma-addons-4.7.4" [ebuild]) > > Which apparently makes no sense. The unsatisfied dependency is >=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=], and this atom comes from kde-base/kdeplasma-addons-4.7.4. Does that make sense? (In reply to comment #7) > (In reply to comment #5) > > emerge: there are no ebuilds built with USE flags to satisfy > > ">=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=]". > > !!! One of the following packages is required to complete your request: > > - kde-base/kdelibs-4.7.4::gentoo (Change USE: -semantic-desktop) > > - kde-base/kdeplasma-addons-4.7.4::gentoo (Change USE: +semantic-desktop) > > (dependency required by "kde-base/kdeplasma-addons-4.7.4" [ebuild]) > > (dependency required by "@selected" [set]) > > (dependency required by "@world" [argument]) > > > > To me, this message looks like kde-base/kdeplasma-addons is a dependency of > > kde-base/kdelibs, but, it's not - > > > > equery depends kde-base/kdeplasma-addons > > * These packages depend on kde-base/kdeplasma-addons: > > > > So why does portage persist on kde-base/kdeplasma-addons[semantic-desktop]? > > (since kde-base/kdelibs[semantic-desktop] is required by me). > > The intention of the message is to give you a choice between two possible > actions. That's why it says "One of the following packages". It wants you to > choose one of these package/USE combinations. > Does this mean kde-base/kdelibs[semantic-desktop] depends on kde-base/kdeplasma-addons[semantic-desktop]? > > After that -- > > > > (dependency required by "kde-base/kdeplasma-addons-4.7.4" [ebuild]) > > > > Which apparently makes no sense. > > The unsatisfied dependency is > >=kde-base/kdelibs-4.7.4:4[aqua=,semantic-desktop=], and this atom comes > from kde-base/kdeplasma-addons-4.7.4. Does that make sense? Only if kde-base/kdeplasma-addons[semantic-desktop] is required when kde-base/kdelibs is build with [semantic-desktop]. But is that the case? Seems very unlikely. Let's take a hypothetical example. Suppose package X and Y have a common use -- h264. For Y to be compiled with h264 USE, X too has to be compiled with h264 USE, thus in Y's ebuild - h264? ( X[h264]) X being a library, does not depend on Y, but Y being an application and using X, depends on it and it's capabilities. As a result, if I want Y[-h264], I may or may not build X with h264, this USE does not matter if Y[-h264] is the case. In the above case X is kdelibs and Y is kdeplasma-addons, thus kdeplasma-addons[semantic-desktop] depends on kdelibs[semantic-desktop], if I want kdeplasma-addons[-semantic-desktop], it does not matter if I build kdelibs with or without semantic-desktop. But in this particular case portage is still enforcing semantic-desktop on kdeplasma-addons, but no ebuild depends on kdeplasma-addons[semantic-desktop]. (In reply to comment #8) > Does this mean kde-base/kdelibs[semantic-desktop] depends on > kde-base/kdeplasma-addons[semantic-desktop]? Yes, and also it means that kde-base/kdelibs[-semantic-desktop] depends on kde-base/kdeplasma-addons[-semantic-desktop]. A semantic-desktop= USE dependency means both. > Only if kde-base/kdeplasma-addons[semantic-desktop] is required when > kde-base/kdelibs is build with [semantic-desktop]. But is that the case? > Seems very unlikely. Whether or not it really is the the case, that's the meaning of the dependency. If the dependency is expressed incorrectly, then you can file a bug for kde-base/kdeplasma-addons to have the dependency corrected. > But in this particular case > portage is still enforcing semantic-desktop on kdeplasma-addons, but no > ebuild depends on kdeplasma-addons[semantic-desktop]. Portage is behaving as it's designed to behave for the way that the dependency i expressed. If you think it's expressed incorrectly, then you can change the sematic-desktop= USE dependency and test to see if it works. Then you can file a bug for kde-base/kdeplasma-addons to have the dependency corrected. (In reply to comment #9) > (In reply to comment #8) > > Does this mean kde-base/kdelibs[semantic-desktop] depends on > > kde-base/kdeplasma-addons[semantic-desktop]? > > Yes, and also it means that kde-base/kdelibs[-semantic-desktop] depends on > kde-base/kdeplasma-addons[-semantic-desktop]. A semantic-desktop= USE > dependency means both. > Ok, so, kde-base/kdeplasma-addons is not necessary, and if one has installed it, it's semantic-desktop USE should be at sync with kde-base/kdelibs's. Also it's the first time I'm listening about this '=' after a USE, it's undocumented In this case, I think equery should provide some output about this. Also where is this dependency information written? Apparently it's not in the ebuild, unless some classes got inherited. (In reply to comment #10) > Also it's the first time I'm listening about this '=' after a USE, it's > undocumented Portage documents this syntax in `man 5 ebuild` in the "Conditional USE Dependencies" part of the DEPEND documentation. There's a reference to ebuild(5) from the emerge man page where it defines "atom". > In this case, I think equery should provide some output about this. I don't see an equery option for that. It can be queried with portageq like this: portageq metadata / ebuild kde-base/kdeplasma-addons-4.7.4 DEPEND RDEPEND PDEPEND > Also > where is this dependency information written? Apparently it's not in the > ebuild, unless some classes got inherited. DEPEND, RDEPEND, and PDEPEND can be defined directly in the ebuild and also in any of the eclasses that it inherits (see the "eclass" directory). Thanks for the info. |