All of lore.kernel.org
 help / color / mirror / Atom feed
* do_configure() failure with my qt4-embedded_4.8.0.bbappend
@ 2012-07-17 14:46 Jon Szymaniak
  2012-07-17 15:39 ` Paul Eggleton
  0 siblings, 1 reply; 6+ messages in thread
From: Jon Szymaniak @ 2012-07-17 14:46 UTC (permalink / raw)
  To: yocto

Hi there,

I'm working on building some embedded (arm) Qt 4.8.0 applications, and
would like
to strip out a lot of unused functionality. I have a set of config flags that
I've used in the past when configuring Qt outside of the Yocto workflow. As
you'll see below, I'm basically just looking for framebuffer, keyboard, mouse
and QML support; everything else should be disabled.

From what I understand, the best approach is to leverage the existing
qt4-embedded_4.8.0.bb recipe, and override the QT_CONFIG_FLAGS and DEPENDS
variables. Here's the qt4-embedded_4.8.0.bbappend I've added to my layer:

DEPENDS := "qt4-tools-native freetype jpeg libpng zlib"
QT_CONFIG_FLAGS := "-release -no-rpath -reduce-relocations -shared\
 -no-mmx -no-3dnow -no-sse -no-sse2 -no-sse3 -no-sse4.1 -no-sse4.2 -no-avx\
 -no-glib -no-largefile -no-accessibility -no-openssl -no-gtkstyle
-no-exceptions\
 -no-xcursor -no-xinerama -no-phonon -no-phonon-backend -no-svg -no-webkit\
 -no-libmng -no-accessibility -no-qt3support -no-xmlpatterns\
 -no-audio-backend -no-gif -nomake examples -nomake demos -no-javascript-jit\
 -no-nis -no-cups -no-declarative-debug\
 -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc\
 -no-sql-sqlite -no-sql-sqlite2 -no-sql-sqlite_symbian -no-sql-tds\
 -no-xkb -no-kbd-tty -no-kbd-qnx -no-mouse-linuxinput\
 -no-mouse-tslib -no-mouse-qnx -no-mouse-linuxtp\
 -qt-mouse-pc -qt-kbd-linuxinput\
 -qt-gfx-linuxfb -qt-gfx-multiscreen\
 -depths 8,16,24,32\
 -declarative -script"

I see a lot of errors during qt4-embedded_4.8.0's do_configure, where
some auto-detection compilation tests are run, for features that aren't
relevant or that I've explicitly disabled. (e.g., sse3, PostgreSQL)

Ultimately, this stage fails with:
 "XLib disabled. Basic XLib functionality test failed!"

Could someone shed some light on this? I don't intend to use X11, so I'm
a bit confused as to why this induces a failure.

Being new to Yocto, I suspect that I'm simply going about this incorrectly.
Perhaps someone can set me in the right direction?

Thank you,
Jon


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: do_configure() failure with my qt4-embedded_4.8.0.bbappend
  2012-07-17 14:46 do_configure() failure with my qt4-embedded_4.8.0.bbappend Jon Szymaniak
@ 2012-07-17 15:39 ` Paul Eggleton
  2012-07-17 16:12   ` Jon Szymaniak
  0 siblings, 1 reply; 6+ messages in thread
From: Paul Eggleton @ 2012-07-17 15:39 UTC (permalink / raw)
  To: Jon Szymaniak; +Cc: yocto

On Tuesday 17 July 2012 10:46:56 Jon Szymaniak wrote:
> QT_CONFIG_FLAGS := "-release -no-rpath -reduce-relocations -shared\
>  -no-mmx -no-3dnow -no-sse -no-sse2 -no-sse3 -no-sse4.1 -no-sse4.2 -no-avx\
>  -no-glib -no-largefile -no-accessibility -no-openssl -no-gtkstyle
> -no-exceptions\
>  -no-xcursor -no-xinerama -no-phonon -no-phonon-backend -no-svg -no-webkit\
>  -no-libmng -no-accessibility -no-qt3support -no-xmlpatterns\
>  -no-audio-backend -no-gif -nomake examples -nomake demos
> -no-javascript-jit\ -no-nis -no-cups -no-declarative-debug\
>  -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc\
>  -no-sql-sqlite -no-sql-sqlite2 -no-sql-sqlite_symbian -no-sql-tds\
>  -no-xkb -no-kbd-tty -no-kbd-qnx -no-mouse-linuxinput\
>  -no-mouse-tslib -no-mouse-qnx -no-mouse-linuxtp\
>  -qt-mouse-pc -qt-kbd-linuxinput\
>  -qt-gfx-linuxfb -qt-gfx-multiscreen\
>  -depths 8,16,24,32\
>  -declarative -script"
> 
> I see a lot of errors during qt4-embedded_4.8.0's do_configure, where
> some auto-detection compilation tests are run, for features that aren't
> relevant or that I've explicitly disabled. (e.g., sse3, PostgreSQL)
> 
> Ultimately, this stage fails with:
>  "XLib disabled. Basic XLib functionality test failed!"
> 
> Could someone shed some light on this? I don't intend to use X11, so I'm
> a bit confused as to why this induces a failure.

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: do_configure() failure with my qt4-embedded_4.8.0.bbappend
  2012-07-17 15:39 ` Paul Eggleton
@ 2012-07-17 16:12   ` Jon Szymaniak
  2012-07-17 19:11     ` Jon Szymaniak
  0 siblings, 1 reply; 6+ messages in thread
From: Jon Szymaniak @ 2012-07-17 16:12 UTC (permalink / raw)
  To: Paul Eggleton, yocto

>> QT_CONFIG_FLAGS := "-release -no-rpath -reduce-relocations -shared\
>>  -no-mmx -no-3dnow -no-sse -no-sse2 -no-sse3 -no-sse4.1 -no-sse4.2 -no-avx\
>>  -no-glib -no-largefile -no-accessibility -no-openssl -no-gtkstyle
>> -no-exceptions\
>>  -no-xcursor -no-xinerama -no-phonon -no-phonon-backend -no-svg -no-webkit\
>>  -no-libmng -no-accessibility -no-qt3support -no-xmlpatterns\
>>  -no-audio-backend -no-gif -nomake examples -nomake demos
>> -no-javascript-jit\ -no-nis -no-cups -no-declarative-debug\
>>  -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc\
>>  -no-sql-sqlite -no-sql-sqlite2 -no-sql-sqlite_symbian -no-sql-tds\
>>  -no-xkb -no-kbd-tty -no-kbd-qnx -no-mouse-linuxinput\
>>  -no-mouse-tslib -no-mouse-qnx -no-mouse-linuxtp\
>>  -qt-mouse-pc -qt-kbd-linuxinput\
>>  -qt-gfx-linuxfb -qt-gfx-multiscreen\
>>  -depths 8,16,24,32\
>>  -declarative -script"
>>
>> I see a lot of errors during qt4-embedded_4.8.0's do_configure, where
>> some auto-detection compilation tests are run, for features that aren't
>> relevant or that I've explicitly disabled. (e.g., sse3, PostgreSQL)
>>
>> Ultimately, this stage fails with:
>>  "XLib disabled. Basic XLib functionality test failed!"
>>
>> Could someone shed some light on this? I don't intend to use X11, so I'm
>> a bit confused as to why this induces a failure.
>
> 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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: do_configure() failure with my qt4-embedded_4.8.0.bbappend
  2012-07-17 16:12   ` Jon Szymaniak
@ 2012-07-17 19:11     ` Jon Szymaniak
  2012-07-17 19:49       ` Jon Szymaniak
  0 siblings, 1 reply; 6+ messages in thread
From: Jon Szymaniak @ 2012-07-17 19:11 UTC (permalink / raw)
  To: Paul Eggleton, yocto

>> 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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: do_configure() failure with my qt4-embedded_4.8.0.bbappend
  2012-07-17 19:11     ` Jon Szymaniak
@ 2012-07-17 19:49       ` Jon Szymaniak
  2012-07-17 20:15         ` Paul Eggleton
  0 siblings, 1 reply; 6+ messages in thread
From: Jon Szymaniak @ 2012-07-17 19:49 UTC (permalink / raw)
  To: yocto; +Cc: Paul Eggleton

>>> 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.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: do_configure() failure with my qt4-embedded_4.8.0.bbappend
  2012-07-17 19:49       ` Jon Szymaniak
@ 2012-07-17 20:15         ` Paul Eggleton
  0 siblings, 0 replies; 6+ messages in thread
From: Paul Eggleton @ 2012-07-17 20:15 UTC (permalink / raw)
  To: Jon Szymaniak; +Cc: yocto

On Tuesday 17 July 2012 15:49:16 Jon Szymaniak wrote:
> > 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?

That's correct.

> > 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.
> 
> 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.

Right, that's what I would have asked about - good detective work :)

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-07-17 20:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-17 14:46 do_configure() failure with my qt4-embedded_4.8.0.bbappend Jon Szymaniak
2012-07-17 15:39 ` Paul Eggleton
2012-07-17 16:12   ` Jon Szymaniak
2012-07-17 19:11     ` Jon Szymaniak
2012-07-17 19:49       ` Jon Szymaniak
2012-07-17 20:15         ` Paul Eggleton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.