[yocto] do_configure() failure with my qt4-embedded_4.8.0.bbappend

Jon Szymaniak jon.szymaniak at gmail.com
Tue Jul 17 12:49:16 PDT 2012


>>> Since you're providing your own value of QT_CONFIG_FLAGS I think you're
>>> missing -embedded $QT_ARCH and possibly -qtlibinfix ${QT_LIBINFIX} (see
>>> meta/recipes-qt/qt4/qt4-embedded.inc).
>>>
>>> Cheers,
>>> Paul
>>>
>>> --
>>>
>>> Paul Eggleton
>>> Intel Open Source Technology Centre
>>
>> Whoops! I most certainly did forget to put the -embedded flag back in after
>> pruning out that, -platform, -xplatform, -little-endian, etc. from my original
>> config script. That certainly explains a lot.
>>
>> Thank you Paul!
>>
>> - Jon
>
> It looks like I celebrated a tad too early. Although Qt built
> successfully,  I'm finding
> that I'm a bit confused with qmake and the qt libinfix situation.
> From what I gather looking
> at recipes-qt/qt4/* a bit, the point here is to rename libs to differentiate
> between the libs generated by the embedded and X11-based recipes, right?
>
> I ended up including -qtlibinfix ${QT_LIBINFIX} in my config flags, and I do
> indeed see that my  qt4-embbeded libs are now in the form libQt*E.so.
>
> However, my builds are failing because ld complains about not being able to
> find QtDeclarative, QtGui, and QtCore.
>
> Looking at the Makefile generated by qmake for one of my little HelloWorld
> applications, I see that it seems that qmake did not accounted for the
> "E" suffix:
>
>   LIBS  = $(SUBLIBS)  -L$(OE_QMAKE_LIBDIR_QT) -lQtDeclarative -lQtGui
> -lQtCore -lpthread
>
> Just as a little experiment, I modified the generated Makefile to add
> the "E" suffix,
> to each lib and reran bitbake. This succeeded and my Qt app was built.
>
> While I'm sure I could hack in a do_compile_prepend() to address this,
> I'm assuming
> that it's a configuration mess-up on my end. Given that I only changed
> the DEPENDS
> and QT_CONFIG_FLAGS in my .bbappend, I can't think of what I might have
> neglected here that might be  affecting qmake or the mkspec.
>
> Any hints?
>
> Thank you,
> Jon

Sorry for the monologue folks, twas a small matter of ignorance. ;)

Just to create a trail of breadcrumbs, the issue was that I was inheriting
qmake2 in my app's recipe. I should have been inheriting qt4e. I see
that this sets up QT_LIBINFIX as well as a number of other items.

See meta/classes/qt4e.bbclass.



More information about the yocto mailing list