Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Qt5 puzzle
@ 2013-11-06 16:57 Charles Krinke
  2013-11-06 17:28 ` Thomas De Schampheleire
  2013-11-06 18:18 ` Thomas Petazzoni
  0 siblings, 2 replies; 9+ messages in thread
From: Charles Krinke @ 2013-11-06 16:57 UTC (permalink / raw)
  To: buildroot

Recently one of our app engineers moved to QtQuick 2.0 and all of a sudden
with the buildroot built binaries from Qt-5.0.2, I am seeing this error
when a qml-style program is run.

ERROR: Binary compiled with -mfloat-abi=hard but without
-DUSE_EABI_HARDFLOAT

In searching this, I can see mention of this on the buildroot mailing list
from June, but no hints or resolution. The archive of the mailing list is
this page:

http://buildroot-busybox.2317881.n4.nabble.com/ERROR-Binary-compiled-with-mfloat-abi-hard-but-without-DUSE-EABI-HARDFLOAT-td49130.html

Although I am using the TI AM3517 and not Raspberry Pi, the error seems to
be the same.

I am assuming this has something to do with make options. This morning, I
tried adding "-DUSE-EABI_HARDFLAT" to the Makefile for libQt5V8 where the
offending message is coming from, but the cheap shot doesnt work.

I am working with a buildroot from the end of July, so am not using the
experimental Qt-5.1 stuff (yet) and am hoping not to move forward in a
crisis if I can help it.

So, ... as usual, I am hoping for a clue or two to let me understand how to
get QtQuick back to functionality with Qt-5.0.2.

-- 
Charles Krinke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131106/8a0bd9c4/attachment.html>

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

* [Buildroot] Qt5 puzzle
  2013-11-06 16:57 [Buildroot] Qt5 puzzle Charles Krinke
@ 2013-11-06 17:28 ` Thomas De Schampheleire
  2013-11-06 19:08   ` Charles Krinke
  2013-11-06 18:18 ` Thomas Petazzoni
  1 sibling, 1 reply; 9+ messages in thread
From: Thomas De Schampheleire @ 2013-11-06 17:28 UTC (permalink / raw)
  To: buildroot

Hi Charles,

On Wed, Nov 6, 2013 at 5:57 PM, Charles Krinke <charles.krinke@gmail.com> wrote:
> Recently one of our app engineers moved to QtQuick 2.0 and all of a sudden
> with the buildroot built binaries from Qt-5.0.2, I am seeing this error when
> a qml-style program is run.
>
> ERROR: Binary compiled with -mfloat-abi=hard but without
> -DUSE_EABI_HARDFLOAT
>
> In searching this, I can see mention of this on the buildroot mailing list
> from June, but no hints or resolution. The archive of the mailing list is
> this page:
>
> http://buildroot-busybox.2317881.n4.nabble.com/ERROR-Binary-compiled-with-mfloat-abi-hard-but-without-DUSE-EABI-HARDFLOAT-td49130.html
>
> Although I am using the TI AM3517 and not Raspberry Pi, the error seems to
> be the same.
>
> I am assuming this has something to do with make options. This morning, I
> tried adding "-DUSE-EABI_HARDFLAT" to the Makefile for libQt5V8 where the
> offending message is coming from, but the cheap shot doesnt work.
>
> I am working with a buildroot from the end of July, so am not using the
> experimental Qt-5.1 stuff (yet) and am hoping not to move forward in a
> crisis if I can help it.
>
> So, ... as usual, I am hoping for a clue or two to let me understand how to
> get QtQuick back to functionality with Qt-5.0.2.

Although I have no experience whatsoever with qt (and will not be able
to help you myself), I suggest to send a (def)config file that
exhibits the problem. This may help others in trying to reproduce the
problem...

Best regards,
Thomas

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

* [Buildroot] Qt5 puzzle
  2013-11-06 16:57 [Buildroot] Qt5 puzzle Charles Krinke
  2013-11-06 17:28 ` Thomas De Schampheleire
@ 2013-11-06 18:18 ` Thomas Petazzoni
  2013-11-06 20:55   ` Charles Krinke
  1 sibling, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2013-11-06 18:18 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Wed, 6 Nov 2013 08:57:45 -0800, Charles Krinke wrote:

> Recently one of our app engineers moved to QtQuick 2.0 and all of a sudden
> with the buildroot built binaries from Qt-5.0.2, I am seeing this error
> when a qml-style program is run.
> 
> ERROR: Binary compiled with -mfloat-abi=hard but without
> -DUSE_EABI_HARDFLOAT
> 
> In searching this, I can see mention of this on the buildroot mailing list
> from June, but no hints or resolution. The archive of the mailing list is
> this page:
> 
> http://buildroot-busybox.2317881.n4.nabble.com/ERROR-Binary-compiled-with-mfloat-abi-hard-but-without-DUSE-EABI-HARDFLOAT-td49130.html
> 
> Although I am using the TI AM3517 and not Raspberry Pi, the error seems to
> be the same.
> 
> I am assuming this has something to do with make options. This morning, I
> tried adding "-DUSE-EABI_HARDFLAT" to the Makefile for libQt5V8 where the
> offending message is coming from, but the cheap shot doesnt work.
> 
> I am working with a buildroot from the end of July, so am not using the
> experimental Qt-5.1 stuff (yet) and am hoping not to move forward in a
> crisis if I can help it.
> 
> So, ... as usual, I am hoping for a clue or two to let me understand how to
> get QtQuick back to functionality with Qt-5.0.2.

Interesting. I had a look at this, in Qt 5.0.2, as packaged in
Buildroot 2013.08. Normally, the USE_EABI_HARDFLOAT flag should
automatically be set to 1 by Qt. From src/v8/v8.pri:

equals(V8_TARGET_ARCH, arm) {
DEFINES += V8_TARGET_ARCH_ARM
config_hardfloat {
    DEFINES += USE_EABI_HARDFLOAT=1
} else {
    DEFINES += USE_EABI_HARDFLOAT=0
}
...

config_hardfloat is I believe decided from the test executed from the
main qtjsbackend.pro:

qtCompileTest(hardfloat)

and there is indeed a config.tests/hardfloat/, which builds a program,
and then looks up with readelf if it's built hard float or not. Most
likely this test is failing, for some reason, and therefore believes
that the toolchain is not hardfp, while it actually is. I had a quick
read of the test and it seems to be testing something correct.

Can you post your .config so we can see what your toolchain is and what
is your Buildroot configuration?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] Qt5 puzzle
  2013-11-06 17:28 ` Thomas De Schampheleire
@ 2013-11-06 19:08   ` Charles Krinke
  2013-11-06 19:52     ` Thomas Petazzoni
  0 siblings, 1 reply; 9+ messages in thread
From: Charles Krinke @ 2013-11-06 19:08 UTC (permalink / raw)
  To: buildroot

I think I see what is going on. It looks like Qt sets USE_EABI_HARDFLOAT=0
when I need it to be USE_EABI_HARDFLOAG=1.

This is done in qt5jsbackend-5.0.2/src/vi/v8.pri as a consequence of

config_hardfloat {
  DEFINES += USE_EABI_HARDFLOAT=1
} else {
  DEFINES += USE_EABI_HARDFLOAT=0
}

Where config_hardfloat is always undefined.

This may bring up a larger question in that some embedded systems will wish
to use softfloat and some hardfloat




On Wed, Nov 6, 2013 at 9:28 AM, Thomas De Schampheleire <
patrickdepinguin@gmail.com> wrote:

> Hi Charles,
>
> On Wed, Nov 6, 2013 at 5:57 PM, Charles Krinke <charles.krinke@gmail.com>
> wrote:
> > Recently one of our app engineers moved to QtQuick 2.0 and all of a
> sudden
> > with the buildroot built binaries from Qt-5.0.2, I am seeing this error
> when
> > a qml-style program is run.
> >
> > ERROR: Binary compiled with -mfloat-abi=hard but without
> > -DUSE_EABI_HARDFLOAT
> >
> > In searching this, I can see mention of this on the buildroot mailing
> list
> > from June, but no hints or resolution. The archive of the mailing list is
> > this page:
> >
> >
> http://buildroot-busybox.2317881.n4.nabble.com/ERROR-Binary-compiled-with-mfloat-abi-hard-but-without-DUSE-EABI-HARDFLOAT-td49130.html
> >
> > Although I am using the TI AM3517 and not Raspberry Pi, the error seems
> to
> > be the same.
> >
> > I am assuming this has something to do with make options. This morning, I
> > tried adding "-DUSE-EABI_HARDFLAT" to the Makefile for libQt5V8 where the
> > offending message is coming from, but the cheap shot doesnt work.
> >
> > I am working with a buildroot from the end of July, so am not using the
> > experimental Qt-5.1 stuff (yet) and am hoping not to move forward in a
> > crisis if I can help it.
> >
> > So, ... as usual, I am hoping for a clue or two to let me understand how
> to
> > get QtQuick back to functionality with Qt-5.0.2.
>
> Although I have no experience whatsoever with qt (and will not be able
> to help you myself), I suggest to send a (def)config file that
> exhibits the problem. This may help others in trying to reproduce the
> problem...
>
> Best regards,
> Thomas
>



-- 
Charles Krinke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131106/a0247754/attachment.html>

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

* [Buildroot] Qt5 puzzle
  2013-11-06 19:08   ` Charles Krinke
@ 2013-11-06 19:52     ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-11-06 19:52 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Wed, 6 Nov 2013 11:08:22 -0800, Charles Krinke wrote:

> I think I see what is going on. It looks like Qt sets USE_EABI_HARDFLOAT=0
> when I need it to be USE_EABI_HARDFLOAG=1.
> 
> This is done in qt5jsbackend-5.0.2/src/vi/v8.pri as a consequence of
> 
> config_hardfloat {
>   DEFINES += USE_EABI_HARDFLOAT=1
> } else {
>   DEFINES += USE_EABI_HARDFLOAT=0
> }
> 
> Where config_hardfloat is always undefined.

See my reply to your e-mail.

> This may bring up a larger question in that some embedded systems will wish
> to use softfloat and some hardfloat

I don't understand what you mean here. We have options in Buildroot to
allow the user to configure whether (s)he wants a soft float or hard
float system.

As I said in my other e-mail, what you should investigate is precisely
why the config_hardfloat test is returning the wrong result.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] Qt5 puzzle
  2013-11-06 18:18 ` Thomas Petazzoni
@ 2013-11-06 20:55   ` Charles Krinke
  2013-11-06 22:06     ` Thomas Petazzoni
  0 siblings, 1 reply; 9+ messages in thread
From: Charles Krinke @ 2013-11-06 20:55 UTC (permalink / raw)
  To: buildroot

Yes, sir. I am attaching the config so as not to clog up the email too much
and I appreciate your kind words as usual.

Charles


On Wed, Nov 6, 2013 at 10:18 AM, Thomas Petazzoni <
thomas.petazzoni@free-electrons.com> wrote:

> Dear Charles Krinke,
>
> On Wed, 6 Nov 2013 08:57:45 -0800, Charles Krinke wrote:
>
> > Recently one of our app engineers moved to QtQuick 2.0 and all of a
> sudden
> > with the buildroot built binaries from Qt-5.0.2, I am seeing this error
> > when a qml-style program is run.
> >
> > ERROR: Binary compiled with -mfloat-abi=hard but without
> > -DUSE_EABI_HARDFLOAT
> >
> > In searching this, I can see mention of this on the buildroot mailing
> list
> > from June, but no hints or resolution. The archive of the mailing list is
> > this page:
> >
> >
> http://buildroot-busybox.2317881.n4.nabble.com/ERROR-Binary-compiled-with-mfloat-abi-hard-but-without-DUSE-EABI-HARDFLOAT-td49130.html
> >
> > Although I am using the TI AM3517 and not Raspberry Pi, the error seems
> to
> > be the same.
> >
> > I am assuming this has something to do with make options. This morning, I
> > tried adding "-DUSE-EABI_HARDFLAT" to the Makefile for libQt5V8 where the
> > offending message is coming from, but the cheap shot doesnt work.
> >
> > I am working with a buildroot from the end of July, so am not using the
> > experimental Qt-5.1 stuff (yet) and am hoping not to move forward in a
> > crisis if I can help it.
> >
> > So, ... as usual, I am hoping for a clue or two to let me understand how
> to
> > get QtQuick back to functionality with Qt-5.0.2.
>
> Interesting. I had a look at this, in Qt 5.0.2, as packaged in
> Buildroot 2013.08. Normally, the USE_EABI_HARDFLOAT flag should
> automatically be set to 1 by Qt. From src/v8/v8.pri:
>
> equals(V8_TARGET_ARCH, arm) {
> DEFINES += V8_TARGET_ARCH_ARM
> config_hardfloat {
>     DEFINES += USE_EABI_HARDFLOAT=1
> } else {
>     DEFINES += USE_EABI_HARDFLOAT=0
> }
> ...
>
> config_hardfloat is I believe decided from the test executed from the
> main qtjsbackend.pro:
>
> qtCompileTest(hardfloat)
>
> and there is indeed a config.tests/hardfloat/, which builds a program,
> and then looks up with readelf if it's built hard float or not. Most
> likely this test is failing, for some reason, and therefore believes
> that the toolchain is not hardfp, while it actually is. I had a quick
> read of the test and it seems to be testing something correct.
>
> Can you post your .config so we can see what your toolchain is and what
> is your Buildroot configuration?
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
>



-- 
Charles Krinke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131106/5971295c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: qt5-config
Type: application/octet-stream
Size: 37515 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131106/5971295c/attachment-0001.obj>

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

* [Buildroot] Qt5 puzzle
  2013-11-06 20:55   ` Charles Krinke
@ 2013-11-06 22:06     ` Thomas Petazzoni
  2013-11-06 22:27       ` Charles Krinke
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2013-11-06 22:06 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Wed, 6 Nov 2013 12:55:05 -0800, Charles Krinke wrote:

> Yes, sir. I am attaching the config so as not to clog up the email too much
> and I appreciate your kind words as usual.

Your configuration has BR2_ARM_EABI=y, so you are *not* using the
hard-float ABI, and having USE_EABI_HARDFLOAT=0 is expected.

So what you have to understand is why Qt believes it was compiled with
-mfloat-abi=hard.

Have you changed the toolchain configuration without doing a "make
clean all" afterwards?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] Qt5 puzzle
  2013-11-06 22:06     ` Thomas Petazzoni
@ 2013-11-06 22:27       ` Charles Krinke
  2013-11-06 22:53         ` Thomas Petazzoni
  0 siblings, 1 reply; 9+ messages in thread
From: Charles Krinke @ 2013-11-06 22:27 UTC (permalink / raw)
  To: buildroot

Hmm. You are right, sir. I need to look into that a bit more. I believe I
added a patch to the mkspec to enable neon a while back and maybe that
patch is confusing some of the build logic.

Charles


On Wed, Nov 6, 2013 at 2:06 PM, Thomas Petazzoni <
thomas.petazzoni@free-electrons.com> wrote:

> Dear Charles Krinke,
>
> On Wed, 6 Nov 2013 12:55:05 -0800, Charles Krinke wrote:
>
> > Yes, sir. I am attaching the config so as not to clog up the email too
> much
> > and I appreciate your kind words as usual.
>
> Your configuration has BR2_ARM_EABI=y, so you are *not* using the
> hard-float ABI, and having USE_EABI_HARDFLOAT=0 is expected.
>
> So what you have to understand is why Qt believes it was compiled with
> -mfloat-abi=hard.
>
> Have you changed the toolchain configuration without doing a "make
> clean all" afterwards?
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
>



-- 
Charles Krinke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131106/be8b2b77/attachment-0001.html>

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

* [Buildroot] Qt5 puzzle
  2013-11-06 22:27       ` Charles Krinke
@ 2013-11-06 22:53         ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-11-06 22:53 UTC (permalink / raw)
  To: buildroot

Dear Charles Krinke,

On Wed, 6 Nov 2013 14:27:58 -0800, Charles Krinke wrote:

> Hmm. You are right, sir. I need to look into that a bit more. I believe I
> added a patch to the mkspec to enable neon a while back and maybe that
> patch is confusing some of the build logic.

Ah, if you don't tell us the whole truth about the changes you made to
Buildroot and/or the Qt5 build system, we can hardly help you :/

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

end of thread, other threads:[~2013-11-06 22:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-06 16:57 [Buildroot] Qt5 puzzle Charles Krinke
2013-11-06 17:28 ` Thomas De Schampheleire
2013-11-06 19:08   ` Charles Krinke
2013-11-06 19:52     ` Thomas Petazzoni
2013-11-06 18:18 ` Thomas Petazzoni
2013-11-06 20:55   ` Charles Krinke
2013-11-06 22:06     ` Thomas Petazzoni
2013-11-06 22:27       ` Charles Krinke
2013-11-06 22:53         ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox