[OE-core] qt4-x11-free dependence on gtk+

Peter A. Bigot pab at pabigot.com
Sat Aug 31 08:40:13 UTC 2013


On 08/30/2013 08:37 AM, Paul Eggleton wrote:
> Hi Peter,
>
> On Tuesday 27 August 2013 13:59:24 Peter A. Bigot wrote:
>> Since "bitbake qt4-x11-free" failed for me until I did "bitbake gtk+",
>> qt4-x11-free needs some sort of dependency on gtk+ to avoid the failure
>> below.  I'm guessing it's something like the following added to
>> qt4-x11-free.inc:
>>
>> PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk', '',
>> d)}"
>> PACKAGECONFIG[gtk] = "-gtkstyle,-no-gtkstyle,gtk+"
>>
>> but since it takes about an hour to build qt4-x11-free on my system I'm
>> hoping somebody can tell me whether that's the right approach.
> This seems reasonable to me. I can't actually reproduce the failure, but I can
> see how the dependency comes in and it does look to be on by default.

What actually happens is qt4 assumes -gtkstyle, but disables it if gtk+ 
(not gtk+3) can't be located in sysroots by invoking pkgconfig.

qt4-x11-free already depends on x11 so looking for x11 in 
DISTRO_FEATURES will always succeed.

Further, PACKAGECONFIG doesn't work because the recipe uses qmake and I 
can't see where changes to EXTRA_OECONF are ever applied.

So unless there's a way to do something like PACKAGECONFIG that isn't 
PACKAGECONFIG, the options I see are either add -gtkstyle to 
QT_X11_FLAGS and gtk+ to DEPENDS, or leave DEPENDS alone and add 
-no-gtkstyle to QT_X11_FLAGS. I don't knowingly use qt4 so don't know 
whether the GTK theme is important, but I'm inclined to the former path 
(unconditionally enable gtk+).

Any better way to solve this?

Peter

> Looking at bitbake -g output (for master at least) it seems like gtk+3 will
> always be built by default when building qt4-x11-free because pulseaudio
> depends upon it, so that explains how this problem doesn't often come up. Of
> course if gtk+3 is rebuilding when qt4-x11-free is in do_compile, or you've
> disabled pulseaudio, then this issue will occur so we do need to do something
> such as the above. I think the PACKAGECONFIG option for this should be called
> "gtkstyle" rather than just "gtk" to give a better idea of what it's enabling
> though. Would you please send an actual patch to add this?
>
> Thanks,
> Paul
>




More information about the Openembedded-core mailing list