Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
emerging kde: dependencies
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
pingoo
Guru
Guru


Joined: 11 Jul 2006
Posts: 324

PostPosted: Sat Apr 14, 2012 8:58 pm    Post subject: emerging kde: dependencies Reply with quote

Trying to install some kde package, It appears the message below:
Code:
emerge: there are no ebuilds built with USE flags to satisfy ">=x11-libs/qt-core-4.7.4:4[qt3support,ssl]".
!!! One of the following packages is required to complete your request:
- x11-libs/qt-core-4.7.4-r1::gentoo (Change USE: +qt3support)
(dependency required by "kde-base/kdebase-startkde-4.8.1" [ebuild])
(dependency required by "kdebase-startkde" [argument])

First, there's a way to see the dependency of a package? I mean, I look inside the package but I didn't understand who was asking for qt3support. Only after some improper use of grep I found that every kde package was asking for it in /usr/portage/metadata/cache/ ...
Does anyone know if qt3support it's really mandatory? And what about the accessibility use, why it's mandatory?
Back to top
View user's profile Send private message
Veldrin
Veteran
Veteran


Joined: 27 Jul 2004
Posts: 1945
Location: Zurich, Switzerland

PostPosted: Sat Apr 14, 2012 9:15 pm    Post subject: Reply with quote

most kde4 dependencies are handled via the kde4-base.eclass. (/usr/portage/metadata/cache just expands the ebuilds)
To simplify your search, just add qt3support to USE in /etc/make.conf. (alternatively you can add that useflag to each and every qt-* package you are using in /etcportage/package.use)

Why exactly this is (still) needed, I am unsure, but it works fine that way.

V.
_________________
read the portage output!
If my answer is too concise, ask for an explanation.
Back to top
View user's profile Send private message
pingoo
Guru
Guru


Joined: 11 Jul 2006
Posts: 324

PostPosted: Sun Apr 15, 2012 9:35 am    Post subject: Reply with quote

Ok, thank you, so I need to see the ebuild e.g. in /usr/portage/kde-base/* and check the file in /usr/portage/metadata/cache for understand where a USE is required for a required package.
There's a way to change this, e.g. how can I try to compile kde without set accessibilty and qt3support for qt*?
Code:
in /usr/portage/metadata/cache/kde-base/kdelibs-4.8.1-r2:
[...] >=x11-libs/qt-core-4.7.4:4[qt3support,ssl] >=x11-libs/qt-gui-4.7.4:4[accessibility,dbus] [...]
Back to top
View user's profile Send private message
i92guboj
Bodhisattva
Bodhisattva


Joined: 30 Nov 2004
Posts: 10310
Location: Córdoba (Spain)

PostPosted: Sun Apr 15, 2012 10:21 am    Post subject: Reply with quote

pingoo wrote:
Ok, thank you, so I need to see the ebuild e.g. in /usr/portage/kde-base/* and check the file in /usr/portage/metadata/cache for understand where a USE is required for a required package.


Nah, you need to look at the ebuild AND the involved eclasses. Those will be different for each package, and you can infer them by reading the "inherit" clause at the top of the ebuild. Eclass files live in $PORTDIR/eclass if my memory serves correctly. Note that eclasses may, in turn, inherit from other eclasses.

Quote:
There's a way to change this, e.g. how can I try to compile kde without set accessibilty and qt3support for qt*?


Not, unless you are willing to hack the source to remove the dependency yourself (luck with that, kde is not precisely a small ground to hack into).

When kde 4.x came out, everything had to be ported from qt3 to qt4, and that was a long and complex process. So it was that a middle layer was invented to allow easy porting. This intended to be a temporal solution that allowed the big source code base tied to kde3 and qt3 to work on modern qt4-based systems. The problem is that not everything has been ported still. I think that k3b still relies on this, but there might be some more pieces of code, even into the kde code base, that rely on qt3support.

Interpreting the dependency tree is often not trivial when kde is involved, but you can add -tv to the parameters of emerge, seeing it in a tree-like fashion may help you with that.

Maybe you will be able to disable the accesibility flag if you investigate (I think I have it disabled, but can't check right now). But, as for qt3support goes, I doubt you can do anything. The only "solutions" are:

  • discover which package is pulling it, and live without it, find an alternative.
  • discover which package is pulling it, fully port it to qt4, then you won't need qt3support.

_________________
Gentoo Handbook | My website
Back to top
View user's profile Send private message
pingoo
Guru
Guru


Joined: 11 Jul 2006
Posts: 324

PostPosted: Sun Apr 15, 2012 1:22 pm    Post subject: Reply with quote

Thank you, now it's more clear.
Your memory works well ;) I looked in the eclass and found:
Code:
$ less /usr/portage/eclass/kde4-base.eclass
[...]
# KDE dependencies
# Qt accessibility classes are needed in various places, bug 325461
kdecommondepend="
        dev-lang/perl
        >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl]
        >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus]
        >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility]

I've already made some searches for the qt3support question and appears that only aseigo was working actively on removing that dependence, on kdelibs, if my memory works like your :)
I watched the bug but I didn't understand why accessibiliy was turned on by default in kde4-base.eclass. I think I'm going to change the eclass and try

EDIT: ok, I tried changing the eclass removing first both qt3support and accessibility and after removing only accessibility but compilation failed ...
Code:

/var/tmp/portage/kde-base/kdelibs-4.8.1-r2/work/kdelibs-4.8.1/kdeui/widgets/kcapacitybar.cpp:96:27: error: 'setAccessibleName' was not declared in this scope

... so at least accessibilty it's necessary :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum