Need help on Cross compiling Qt 5.1.1 on Imx6
-
So I'm having the same problem with 5.2.1 using either the codesourcery or linaro toolchains.
My friend and I have spent 7 hours together trying to build Qt so we can finish a project and we have searched and searched. ANY help would be so appreciated!
using
Sourcery CodeBench Lite 2013.11-33
gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux.tar
qt-everywhere-opensource-src-5.2.1@./configure -opensource -confirm-license -qt-xcb -make libs -no-pch -opengl es2 -prefix /opt/Qt5.2.1 -device-option CROSS_COMPILE=/opt/CodeSourcery/G++Lite/bin/arm-none-linux-gnueabi- -device imx6 -sysroot /opt/rootfs -no-gcc-sysroot@
@./configure -opensource -confirm-license -icu -qt-xcb -make libs -no-pch -opengl es2 -prefix /opt/Qt5.2.1 -device-option CROSS_COMPILE=/opt/Linaro/bin/arm-linux-gnueabihf- -device imx6 -sysroot /opt/rootfs -no-gcc-sysroot@
This is the Qt Open Source Edition.
You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.You have already accepted the terms of the license.
Creating qmake...
make: Nothing to be done for `first'.
Running configuration tests...
Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.
Note: PKG_CONFIG_SYSROOT_DIR automatically set to /opt/rootfsCould not determine the target architecture!
Turn on verbose messaging (-v) to see the final report.
The OpenGL ES 2.0 functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in
/opt/Qt5/qtbase/mkspecs/devices/linux-imx6-g++. -
Hi there,
I just want to let you know, that I was able to compile QT 5.2.0 a couple a month ago with Yocto (dora) and the additional meta-qt layer. You have to get the jansa-branch of that layer. With that I was able to compile the above version and I guess Mr. Jansa already adapted it for the latest Qt Version as well.
Of course this solution implies a bit of a knowledge of the yocto build system itself. But if you follow this guide:
http://wiki.wandboard.org/index.php/Building_Qt5_using_yocto_on_Wandboard
and adapt it to your target board (in case your board is supported by Yocto), this would propably the easiest way to get it running.
Kind Regards
Soilman
-
I changed my configure to
@/opt/gitQt/qt5/qtbase/configure/ -opensource -confirm-license -qt-xcb -make libs -no-pch -opengl es2 -prefix /opt/Qt5.2.1 -device-option CROSS_COMPILE=/opt/Linaro/bin/arm-linux-gnueabihf- -device imx6 -sysroot /opt/rootfs -no-gcc-sysroot -developer-build -no-gtkstyle -xplatform linux-arm-gnueabi-g++@
and that got rid of the target architecture error...
Now this remains:
@Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.
Note: PKG_CONFIG_SYSROOT_DIR automatically set to /opt/rootfs
The OpenGL ES 2.0 functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in
/opt/gitQt/qt5/qtbase/mkspecs/linux-arm-gnueabi-g++.
@ -
edit: stupid question...
-
Hi tunahammer,
before I started to compile Qt with the help of Yocto, I was trying it in the same you are currently doing and I ran into the same issue.
To make this error disappear, I had to specify inside the make-spec the path to the includes and the library of opengl inside my target sysroot.
After that I was able to get one step further.
Kind Regards
Soilman -
It appears the manufacturer does not include the correct files for opengl in their sysroot for this device. Am I correct in thinking I need to download the source and compile a version of opengl es2 or is this generic enough that I could try to find someone else with a project with these for an imx6 and use theirs?
-
Hi tunahammer,
you can either use the sysroot which is provided by freescale (on the website under downloads for imx6 - ubuntu), or you could also use the yocto build system to automatically create a sysroot for you.
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&fpsp=1&tab=Design_Tools_Tab#
I tried it both ways and it was working fine.
And yes I think you could also use a sysroot from another project like the wandboard.org which uses the imx6 as well.
See here the important parameters for my build with yocto:
linux-imx6-g++:...
QMAKE_INCDIR_OPENGL_ES2 += /home/linuxdev/DevStuff/poky-dora-10.0.0/fsl-community-bsp-platform/build/tmp/sysroots/wandboard-dual/usr/include
QMAKE_LIBDIR_OPENGL_ES2 += /home/linuxdev/DevStuff/poky-dora-10.0.0/fsl-community-bsp-platform/build/tmp/sysroots/wandboard-dual/usr/lib...
IMX6_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard -DQT_NO_GLIB
-
I would have never ever found those files Oo
Here they are:
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&fpsp=1&tab=Design_Tools_Tab#
Software Development Tools (15)
Set of applications for the Linux L3.0.35_4.1.0 BSP/Vivante_VDK-v1.4.6/Linux L3.0.35_4.1.0 GPU Driver with vprofiler/drivers
-
Soilworker,
I'm moving to a new thread since it's probably more fitting, please follow if you can sir!