[meta-freescale] Problems with softfp vs hard configuration with Qt5
Mario Rodriguez
mario.rodriguez at go-huml.com
Wed Feb 11 09:50:53 PST 2015
I have now Qt5 in the dizzy branch working. I compiled a couple of easy examples and it looks like it is working.
Now I tried a bigger example and I have some weird problems.
I am using the following c/c++ compiler flags for my i.mx sabre lite from boundary devices:
-mcpu=cortex-a9 -march=armv7-a -O3 -fomit-frame-pointer -mfpu=neon -ftree-vectorize -mfloat-abi=hard
Now on
#include <QApplication>
I got the following error:
In file included from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/features.h:389:0,
from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/c++/4.9.1/arm-poky-linux-gnueabi/bits/os_defines.h:39,
from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/c++/4.9.1/arm-poky-linux-gnueabi/bits/c++config.h:430,
from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/c++/4.9.1/utility:68,
from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtCore/qcompilerdetection.h:846,
from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtCore/qglobal.h:78,
from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtCore/qcoreapplication.h:45,
from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtWidgets/qapplication.h:45,
from /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtWidgets/QApplication:1,
from /home/yocto/Developer/CamlMock/CamlMock/main.cpp:1:
/opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
# include <gnu/stubs-soft.h>
^
Even though I use -mfloat-abi=hard !!!
It looks like __ARM_PCS_VFP is not getting defined....
Anyway, I force to define __ARM_PCS_VFP but then I got the following linking errors:
Linking CXX executable Qt5camlMock
/usr/bin/cmake -E cmake_link_script CMakeFiles/Qt5camlMock.dir/link.txt --verbose=1
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/Qt5camlMock.dir/main.cpp.o CMakeFiles/Qt5camlMock.dir/qrc_qml.cpp.o CMakeFiles/Qt5camlMock.dir/qrc_images.cpp.o CMakeFiles/Qt5camlMock.dir/Qt5camlMock_automoc.cpp.o -o Qt5camlMock -rdynamic /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Qml.so.5.3.2 /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Quick.so.5.3.2 /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Widgets.so.5.3.2 /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Qml.so.5.3.2 /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Network.so.5.3.2 /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Gui.so.5.3.2 /opt/poky/1.7.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/libQt5Core.so.5.3.2
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: error: Qt5camlMock uses VFP register arguments, CMakeFiles/Qt5camlMock.dir/main.cpp.o does not
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: failed to merge target specific data of file CMakeFiles/Qt5camlMock.dir/main.cpp.o
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: error: Qt5camlMock uses VFP register arguments, CMakeFiles/Qt5camlMock.dir/qrc_qml.cpp.o does not
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: failed to merge target specific data of file CMakeFiles/Qt5camlMock.dir/qrc_qml.cpp.o
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: error: Qt5camlMock uses VFP register arguments, CMakeFiles/Qt5camlMock.dir/qrc_images.cpp.o does not
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: failed to merge target specific data of file CMakeFiles/Qt5camlMock.dir/qrc_images.cpp.o
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: error: Qt5camlMock uses VFP register arguments, CMakeFiles/Qt5camlMock.dir/Qt5camlMock_automoc.cpp.o does not
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.1/ld: failed to merge target specific data of file CMakeFiles/Qt5camlMock.dir/Qt5camlMock_automoc.cpp.o
collect2: error: ld returned 1 exit status
make[2]: *** [Qt5camlMock] Error 1
make[2]: Leaving directory `/home/yocto/Developer/CamlMock/mx6Build'
make[1]: *** [CMakeFiles/Qt5camlMock.dir/all] Error 2
make[1]: Leaving directory `/home/yocto/Developer/CamlMock/mx6Build'
make: *** [all] Error 2
Which compiler flags should I use? Softfp or hard? It looks like there is a mixture and the compiler doesn't like that.
Regards,
Mario
________________________________
Mario Rodriguez M.Sc., Software Architect
Phone: +49 89 45 23 47 - 297
jambit GmbH
Erika-Mann-Str. 63, 80636 M?nchen
Phone: +49 89 45 23 47 - 0, Fax: +49 89 45 23 47 - 70
http://www.jambit.com where innovation works
Gesch?ftsf?hrer: Peter F. Fellinger, Markus Hartinger
Sitz: M?nchen; Registergericht: M?nchen, HRB 129139
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20150211/72a4df08/attachment.html>
More information about the meta-freescale
mailing list