Prerequisites:
The build is verified on prebuilt rootfs(based on LTIB) which can be downloaded from freescale.com
EGL uses framebuffer backend
libEGL.so -> libEGL-fb.so
libGAL.so -> libGAL-fb.so
QT4.8
1. Download the git respository for qt4.8:
$ git clone http://git.gitorious.org/qt/qt.git qt
$ cd qt
Let us consider this as <QTDir>
2. Create /tftpboot and point your target fileystem. As like
$ mkdir -p /tftpboot
$ cd /tftpboot
$ ln -s $(ROOTFFS) rootfs
TBD:Need to work on this to use sysroot option
3. Create a build directory to install for the qt4 packages. This directory can be in any location. For example,
$ mkdir /opt/qt4
$ sudo chown -R <username> /opt/qt4
Let us consider the the <installdir> as /opt/qt4
4. Extract the attached mkspecs(linux-imx6-g++.tar.gz) to <QTDir>/mkspecs/qws/
5. Apply the attached cd 0001-add-i.MX6-EGL-support.patch attached to enable egl support for i.MX6
$ cd <QTDir>
$ patch -p1<0001-add-i.MX6-EGL-support.patch
6. Export CROSS-COMPILE location path to PATH
$ export PATH=$PATH:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/
7. Enter to the <QTDir>. Do configure. You can select the options as you like. Here is an example
$ cd <QTDir>
$ ./configure -qpa -arch arm -xplatform qws/linux-imx6-g++ -no-largefile -no-accessibility \
-opensource -verbose -system-libpng -system-libjpeg -system-freetype -fast -opengl es2 -egl -confirm-license \
-qt-zlib -qt-libpng -no-webkit -no-multimedia \
-make examples -make demos \
-release -make libs -exceptions -no-qt3support -prefix <installdir>
8. When the configure summary is shown make sure the Qt has OpenGL ES 2.0 support. Do build
$ make
$ make install
9. Now need to build eglfs plugin
$ cd <QTDir>/src/plugins/platforms/eglfs
$ make
$ make install
Now the eglfs will be installed to the QT Install directory.
10. By now all required QT files are in <install directory>
11. Copy the install directory to target filesystem
$ cp -rf /opt/qt4 /tftpboot/rootfs/opt/.
12. Running Qt apps on target
- Boot the target either with NFS or SD Image
- Ensure that folder <installdir> is copied on target file system at “/usr/local”.
- Launch application using
$ cd /opt/qt4/examples/opengl/hellogl_es2
$ ./hellogl_es2 -platform eglfs
QT5
These steps are performed on the host
1. Download the git respository for qt5:
$ git clone git://gitorious.org/qt/qt5.git qt5
$ cd qt5
Let us consider this as <QTDir>
2. Create a build directory to install for the qt5 packages. This directory can be in any loctation. For example,
$ sudo mkdir /opt/qt5
$ sudo chown -R <username> /opt/qt5
Let us consider the the installdir as /opt/qt5
3. Enter the Qt5 directory and run the init-repository script to download all the source code for
Qt5. To download all the source code will take about an hour.
$ ./init-repository
Update: In the latest Qt5 release the webkit library is included by default and there are some issues trying to compile it.
use the next line to avoid problems if not desired to use webkit.
$ ./init-repository --no-webkit
4. From the following path
$ gedit qtbase/mkspecs/devices/linux-imx6-g++/qmake.conf
5. At the top of the qmake.conf, there is a configure line. Copy and paste the configure line into a text file located
in your build build directory. Edit the configure line to find your toolchain and filesystem. Also make sure to
include the options -no-pch, -no-opengl, -opengl es2, Here is an example of
a configure line.
Update: In the latest Qt5 stable, the option to compile the examples/demos is -compile-examples, instead of -make examples -make demos
If you are running into problems with webkit, use the option -no-icu, this will disable the webkit.
$ cd <QTDir>
$ cd qtbase
$ ./configure -v -opensource -confirm-license -no-pch -no-xcb -no-opengl -opengl es2 \
-make libs -device imx6 \
-compile-examples \
-device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- \
-sysroot <rootfs> -no-gcc-sysroot \
-prefix <installdir>
7. Make the textfile that has the configure line and executable and run it. When the configure summary is shown make sure the Qt5 has openGL ES 2.0 support. Do build
$ make
$ sudo make install
When Qt5 has finished building, Qt5 will be installed in two places:
1. <location of rootfs>/<installdir>
2. <HOST Machine>/<install dir>
This is good because now all the libraries and binaries for Qt5 are installed on the host and the target filesystem. Therefore, the target already has all the libraries and binaries needed to run Qt5.
8. Also need to build qtjsbackend and qtdeclarative.
$ cd <location to Qt5 git>
$ cd qtjsbackend
$ ../qtbase/bin/qmake -r
$ make && sudo make install$ cd <location to Qt5 git>
$ cd qtdeclarative
$ ../qtbase/bin/qmake -r
$ make && sudo sudo make install
9. Running Qt apps on target
- Boot the target either with NFS or SD Image
- Ensure that folder <installdir> is copied on target file system at “/usr/local”.
- Launch application using
$ cd /opt/qt5/examples/opengl/hellowindow
$ ./hellowindow -platform eglfs
FAQ:
On the target file system, the location of target libaries and includes may present in arm-linux-gnueabi directory. Make sure to create soflinks to QT can find. For example
$ cd $(ROOTFS)/usr/lib
$ ln -s arm-linux-gnueabi/libffi.so.6 libffi.so.6
While building QT5, you may see a build error that libQt5V8.so.5 is not found. This might be some problem to be addressed in QT. Workaround is to
copy all the binaries to correct path as like this
$ cp <ROOTFS>/<installdir>/lib/* <HOST Machine>/<installdir>/.
What is coming up next:
1. QT on X is already available on Yocto filesystem. Steps to enable GPU Acceleration TDB.
2. QT with Wayland support.
Works like a charm. Thank you!
My only issue is that my mouse or keyboard doesn't work when running with eglfs. does eglfs support user input?
After running the configure command, in the summary of supported features, OpenVG appears as not supported, is this normal or it means some library is missing on my side?
FAQ:
Question:
But I can not build qtdeclarative…
../qtbase/bin/qmake -r
Project WARNING: Unknown build part(s): demos
Reading /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative/src/src.pro
Reading /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative/src/qml/qml.pro
Project MESSAGE: /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtbase/bin/syncqt -module QtQml -version 5.1.0 -outdir /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative
<srcbase> = /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative
<outbase> = /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative
Project ERROR: Unknown module(s) in QT_PRIVATE: v8
Not sure what the problem is? I have looked around but not find any useful hints. Do you have an idea?
Solution:
“modify this file qtbase/bin/qt.conf
and add the correct prefix, the one given on cofigure
*configure
Question:
I follow the instruction as above to build QT5,
but I found the configure command is incorrect to my environment.
so I change the configure command as below:
./configure -v -opensource -confirm-license -system-sqlite -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-xcb -no-sql-mysql -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-sqlite2 -no-pch -no-opengl -opengl es2 -wayland -make libs -device imx6 -make examples -make demos -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -sysroot /media/new-version/build/L3.0.35_4.0.0/ltib/rootfs -no-gcc-sysroot -prefix /usr/local/Trolltech/Qt5-imx6-1
It pass but I got problem when I run 'make'
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -Wl,-rpath-link,/media/new-version/build/L3.0.35_4.0.0/ltib/rootfs/usr/lib -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/usr/local/Qt-5.0.0/Qt5-imx6-1/lib -shared -o libqsqlmysql.so .obj/release-shared/main.o .obj/release-shared/qsql_mysql.o .obj/release-shared/moc_qsql_mysql_p.o -L/media/new-version/build/L3.0.35_4.0.0/ltib/rootfs/usr/lib -L/usr/lib -Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient_r -L/media/new-version/build/ltib/rpm/BUILD/qt5/qtbase/lib -lQt5Sql -lQt5Core -lpthread
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libpthread_nonshared.a when searching for libpthread_nonshared.a
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libc_nonshared.a when searching for libc_nonshared.a
.obj/release-shared/qsql_mysql.o: In function `QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&)':
qsql_mysql.cpp:(.text+0x2cb4): undefined reference to `mysql_set_character_set'
collect2: ld returned 1 exit status
I have cancel the option of the mysql when configure the QT5!
How to solve this problem?
thanks!
Here's my configure script:
#!/bin/sh
./configure -v -opensource -confirm-license -no-pch -no-xcb -opengl es2 \
-make libs -device imx6 \
-make examples -make demos \
-device-option CROSS_COMPILE=/home/squirem/Desktop/poky-dylan-9.0.0/build/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi- \
-sysroot /home/squirem/Desktop/poky-dylan-9.0.0/build/tmp/deploy/images/mountpoint \
-prefix /opt/qt5
Notice I removed the -no-opengl and -no-gcc-sysroot options. I think the -no-opengl option conflicts with the -opengl es2 option and the -no-gcc-sysroot option conflicts with the -sysroot <dir> option. You may also notice I added the -no-xcb option since xcb wasn't working for me.
As a side note, I think you can add more options to remove SQL support. Run ./configure -h to look at your options.
Hi,
what is the meaning of "The build is verified on prebuilt rootfs(based on LTIB) which can be downloaded from freescale.com" I have to build it with ltib or can i download it? When I can download it, please explain how to use it on host.
To use LTIB makes little sense, because Yocto is preferred.
I try now to do LTIB for a couple of days without success.
regards
Joerg
He is referring to the prebuilt images which can be found under the "Operating System Software - Board Support Packages" section of whatever chip you're using. In my case, for the SabreSD board: L3.0.35_4.0.0_DEMO_IMAGE
You are right about LTIB and Yocto. Freescale is moving towards Yocto and the LTIB platform can be buggy. Use the Freescale community BSP instead: Freescale/fsl-community-bsp-platform · GitHub
The instructions are in the link. After compilation, an SD card image is generated that can be directly copied to an actual SD card and will run on whatever board you're using. There is already full Qt4 support and Qt5 support is only recently being added (added about a week ago).
I just checked what machines are supported in the BSP I linked to. It seems that your board nitrogen6x is supported, and there does appear to be a set of Qt4 recipes for the demo image you are referring to: Photo Album - Imgur
Follow the instructions that are in the documentation. You can download the documentation package from freescale site.
I am trying to build Qt4 as per the instructions above.
In Step #2 is this command:
$ ln -s $(ROOTFFS) rootfs
When I try to run it, it states that the variable "ROOTFFS: command not found."
Any idea why this failed? I tried ROOTFS and still had the same error.
Is ROOTFFS the qt install directory? Where is it defined? It's not in my environment.
OK. I used a link to ~/imx6/ltib/rootfs since I'm only doing NFS boot and I've already created a rootfs with LTIB.
Running configure generates several errors.
However, I am able to make and make install most of the files into /opt/qt4.
But the second bullet in Step #12 makes no sense.
Furthermore, there is no opt/qt4/examples directory.
Here is what is what is there:
root@freescale /$ ls opt/qt4
bin include lib plugins
Any ideas of where I might be having problems. I've followed the directions very carefully.
Brad
Hi,
I was recently trying to build QT5 for iMX6 board using the instructions above.
rootfs: L3.0.35_4.0.0_UBUNTU_RFS
configure:
./configure -v -opensource -confirm-license -no-pch -no-xcb -no-opengl -opengl es2 -make libs -device imx6 -device-option CROSS_COMPILE=/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/arm-linux-gnueabihf- -sysroot /home/max/Dev/rootfs -no-gcc-sysroot -prefix /opt/Qt5-imx6
unfortunately I have the following error:
/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: error: opengles2 uses VFP register arguments, opengles2.o does not
/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file opengles2.o
...
/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `XMapRaised'
/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `pthread_setspecific@GLIBC_2.4'
/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `_XReadPad'
/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `dlopen@GLIBC_2.4'
/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `pthread_key_delete@GLIBC_2.4'
/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `XPending'
collect2: error: ld returned 1 exit status
make: *** [opengles2] Error 1
OpenGL ES 2.x disabled.
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
/home/max/Dev/repository/qt5/qtbase/mkspecs/devices/linux-imx6-g++.
Then if I take out ES, I have: "Could not determine the target architecture!"
Can somebody comment on this? Any help?
Does the attached patch suppose to fix that?
Thanks!
Max
Hi,
I followed the instructions to build QT4.8 for my target, Boundary's Nitrogen6x board. Unfortunately, in step 8, when it was building, I got the compiling error "fatal error: jpeglib.h: No such file or directory". I wonder if you guys have any comment about the error listing below.
cd "/home/byang/qt/./src/plugins/imageformats/jpeg"
make Makefile
make[4]: Entering directory `/home/byang/qt/src/plugins/imageformats/jpeg'
make[4]: `Makefile' is up to date.
make[4]: Leaving directory `/home/byang/qt/src/plugins/imageformats/jpeg'
make[3]: Leaving directory `/home/byang/qt/src/plugins/imageformats/jpeg'
make[3]: Entering directory `/home/byang/qt/src/plugins/imageformats/jpeg'
arm-fsl-linux-gnueabi-g++ -c -pipe -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../mkspecs/qws/linux-imx6-g++ -I. -I../../../../include/QtCore -I../../../../include/QtNetwork -I../../../../include/QtGui -I../../../../include -I../../../gui/image -I.moc/release-shared -I/home/byang/ltib/rootfs/usr/include -I/tftpboot/rootfs/usr/include/arm-linux-gnueabi/ -o .obj/release-shared/qjpeghandler.o ../../../gui/image/qjpeghandler.cpp
../../../gui/image/qjpeghandler.cpp:71:21: fatal error: jpeglib.h: No such file or directory
compilation terminated.
make[3]: *** [.obj/release-shared/qjpeghandler.o] Error 1
Hallo Bill,
no need to do that for 4.8
Have a look at this
https://community.freescale.com/message/339555#339555
Joerg
Hi Joerg,
Thanks for your replying my question. Currently I need to build QT4.8 on my image in LTIB. We shall late on consider the Yocto image since it has QT built in.
I googled and looked at the relate posts that mentioned needing to install libjpeg-dev. I wonder if any one in this thread knows how to fix?
No @ -no-gcc-sysroot vs. -sysroot
This was made for the freescale-linaro toolchain from ltib, because it doesn't allow you to set -sysroot as all the basic posix building-blooks were located within the toolchain and setting -sysroot in for gcc ruins it.
So the combination of '-sysroot' and '-no-gcc-sysroot' results in Qt5 to do some magic in the background (e.g. PKG variables) but doesn't result in adding '--sysroot' to the gnu flags
Hi Zoltan,
i am having the same issue, also with another MPUs from several vendors. I have not solved it yet, but it looks like its a problem related with the rootfs, specifically with simlinks and lib paths.
There is a nice guide for a raspberry-pi device which i tried, and worked nice, but only with the rootfs image they specified (raspbian wheezy image): http://qt-project.org/wiki/RaspberryPi_Beginners_guide
When i tried to use my own rootfs, i have the problem you have had. Looks like the fix they propose could be the solution. That is to run a script to fix symlinks and libpaths, included in the croos-compiled-tools they provide.
I tried that but with no succes. Eventhough, everywhere in the web looks like that old configures files, can be a really headache, so it's really important to clean the files generated in the configure. Here it's very important to say, that the only actual way to do that, is cleaning the repository with:
git submodule foreach --recursive "git clean -dfx"
because "make confclean" doesn't really work in Qt5 and "make clean" only cleans ol the .o and others files, but no all the configurations generated with ./configure. So, to download a tar.gz and use this a source code, should not be an option for Qt5.
Would really love to solve this problem with the imx6, using my own rootfs generated with buildroot (in my case). Any help?
Regards,
Santiago
Hi,
I followed the instructions and when I ran "bitbake core-image-minimal". It pop up following error.
Pseudo is not present but is required, building this first before the main build
ERROR: OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:
Please install the following missing utilities: gawk,chrpath
Then I ran "apt-get install gawk chrpath". It pop up info as below.
The following packages were automatically installed and are no longer required:
libp11-kit-dev libgpg-error-dev comerr-dev libqt3-headers libgnutls-openssl27
libkrb5-dev liblcms1-dev libgnutlsxx27 libgssrpc4 libxt-dev libxmu-dev
libtasn1-3-dev libcups2-dev libqt3-compat-headers qt3-dev-tools libgcrypt11-dev
libkadm5clnt-mit8 libaudio-dev libkadm5srv-mit8 libxmu-headers libkdb5-6
libgnutls-dev krb5-multidev
Do I have to remove them using "apt-get autoremove ......."?
Are you sure you followed the steps outlined here: https://github.com/Freescale/fsl-community-bsp-platform
Also, are you sure you have all the necessary software installed on your system. See the Yocto Project Quick Start Guide and look under packages: https://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html
I'm guessing you're running Ubuntu, which means this command would install the software you need:
sudo apt-get install gawk wget git-core diffstat unzip texinfo \
build-essential chrpath libsdl1.2-dev xterm
Hi squirem,
I got run bitbake fsl-image-gui, but I found the MACHINE=imx6qsabresd is not I wanted. My board is Nitrogen6x board from Boundary. How to change it to MACHINE=nitrogen6x? Could you please help?
By the way, I need Qt4.8.4 libraries on the image. Does the building image has been added Qt4.8.4?
Thanks,
Thanks.
Yes, I am running Ubuntu. I followed the article from the "Yocto With Boundary Device's Nitrogen6x: 5 steps only!" . I did not install all the necessary software on my system. I will do the installation as you point to me. Thanks again.
I also have the same problem, Did U find any solution ragarding this
Hi I found some libs,
https://github.com/zOrg1331/fsl-gpu-viv-mx6q/tree/master/usr/lib, but
those are old,
and unfortunately they didn't solve all the problems. Incompatibility
issues remain.
with Regards,
Zoltan
U mean you also had that input issue.. The issue I am facing is once after I run the demo application ./hellowindow -platform eglfs.. i cant give any input(I want to use touch). Nothing is working regarding touch.. I exported all the necessary Tslib variables and all.
Did the library files which u found is anything to do with the touch issue..
You also mentioned "unfortunately they didn't solve all the problems"
No, I don't have those solved yet unfortunately...
with Regards,
Zoltan
Anyway thanks for the replay Zoltan :smileyhappy:
Oh.. you have any idea regarding that.
With Regards,
Sarjoon
Sorry, no, hopefully there will be an update with build in QT5 support...
I also tried to work out things with Qt4, but not much success there
either... = (
with Regards,
Zoltan
Yeah, I am also thinking to build it using QT5 now, Anyway thanks for your replies :smileyhappy:
cheers
Regards,
Sarjoon
Hi all!
I followed the instructions to build QT4.8 for my target, Boundary's SABRElite board. Unexpectedly, in step 9 (Now need to build eglfs plugin), I got the compiling error
qeglfsscreen.cpp: In constructor 'QEglFSScreen::QEglFSScreen(EGLNativeDisplayType)':
qeglfsscreen.cpp:109:43: error: 'fbGetDisplayByIndex' was not declared in this scope
qeglfsscreen.cpp:110:57: error: 'fbGetDisplayGeometry' was not declared in this scope
qeglfsscreen.cpp: In member function 'void QEglFSScreen::createAndSetPlatformContext()':
qeglfsscreen.cpp:181:95: error: 'fbCreateWindow' was not declared in this scope
make: *** [.obj/release-shared/qeglfsscreen.o] Error 1
Any help?
Regards, Michael
Hi Michael,
These declarations should be in EGL/eglvivante.h:
~/ltib4-nox/rootfs/usr/include$ grep -r fbGetDisplayByIndex * EGL/eglvivante.h:fbGetDisplayByIndex(
Did you include gpu-viv-bin-mx6q in your LTIB configuration?
Hi Eric!
Thanks for your answer.
Yes, I have these declarations in EGL/eglvivante.h, but in my qt-4.8.4/src/plugins/platforms/eglfs/qeglfsscreen.cpp (after EGL support patch) I have no link to EGL/eglvivante.h
Where I need to add the reference to EGL/eglvivante.h, in qeglfsscreen.cpp, in qeglfsscreen.h or in eglfs.pro?
I added everywhere, but the effect isn't present, there is the same compilation error.
>> Did you include gpu-viv-bin-mx6q in your LTIB configuration?
I don't use a LTIB, I use a ready freescale Ubuntu rootfs image L3.0.35_4.0.0_UBUNTU_RFS from https://community.freescale.com/docs/DOC-94809
How to solve this problem?
Thanks again!
Regards, Michael
Eric, still question:
I have a SABRElite board, which runs freescale Ubuntu image with X-window desktop.
Now I want to run a QT application on X-window of my devboard.
This manual (Building QT for i.MX6) Is suitable for my task?
Thanks!
Regards, Michael
Hi Michael,
eglvivante.h is included by eglplatform.h, which is included by egl.h.
Do you have the configuration patches:
qt4: Enable OpenGL ES2 support for i.MX6 · edcd4a6 · Freescale/meta-fsl-arm · GitHub
Hi Michael,
If you're running under X, you really want X to be accelerated, not Qt, and you should probably just use apt-get to install it.
Hi, all.
When i test qt5 example on target board, (./hellogl_es2) I have below error.
"This application failed to start because it could not find or load the Qt platform plugin "eglfs"."
Please share any tip about this eglfs error.
thank you.
jessie.
Hello,
Building seems to work fine for me but when I try to start one of the example project I get this error:
root@freescale /opt/qt5/examples/opengl/hellowindow$ ./hellowindow -platform eglfs
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
idr_remove called for id=2126092104 which is not allocated.
[<8004f72c>] (unwind_backtrace+0x0/0x138) from [<8024d930>] (idr_remove+0x1f8/0x208)
[<8024d930>] (idr_remove+0x1f8/0x208) from [<802bb51c>] (drm_ctxbitmap_free+0x24/0x30)
[<802bb51c>] (drm_ctxbitmap_free+0x24/0x30) from [<802bba28>] (drm_rmctx+0x5c/0x10c)
[<802bba28>] (drm_rmctx+0x5c/0x10c) from [<802bc064>] (drm_ioctl+0x2d0/0x3b4)
[<802bc064>] (drm_ioctl+0x2d0/0x3b4) from [<8010b344>] (do_vfs_ioctl+0x80/0x558)
[<8010b344>] (do_vfs_ioctl+0x80/0x558) from [<8010b854>] (sys_ioctl+0x38/0x5c)
[<8010b854>] (sys_ioctl+0x38/0x5c) from [<80048600>] (ret_fast_syscall+0x0/0x30)
Segmentation fault
root@freescale /opt/qt5/examples/opengl/hellowindow$
Any clue about what this can be?
Hi,
My QT4.8 had been built success,but when I test the example in my target board,it shows error:
root@freescale /opt/qt4.8-arm-elink/examples/opengl/hellogl_es2$ ./hellogl_es2 -platform eglfs
./hellogl_es2: error while loading shared libraries: libQtOpenGL.so.4: cannot open shared object file: No such file or directory
what can I do to solve it?
Hello,
I have following problem during build of latest Qt5.1
compiler/qv4isel_masm_p.h: In member function 'void QQmlJS::MASM::Assembler::storeUInt32(JSC::AbstractMacroAssembler<JSC::ARMAssembler>::RegisterID, QQmlJS::MASM::Assembler::Pointer)':
compiler/qv4isel_masm_p.h:1212:63: error: 'convertUInt32ToDouble' was not declared in this scope
compiler/qv4isel_masm_p.h: In member function 'void QQmlJS::MASM::InstructionSelection::convertUIntToDouble(QQmlJS::V4IR::Temp*, QQmlJS::V4IR::Temp*)':
compiler/qv4isel_masm_p.h:1491:18: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble'
compiler/qv4isel_masm_p.h:1493:18: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble'
compiler/qv4isel_masm.cpp: In member function 'virtual void QQmlJS::MASM::InstructionSelection::visitRet(QQmlJS::V4IR::Ret*)':
compiler/qv4isel_masm.cpp:1978:22: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble'
compiler/qv4isel_masm.cpp: In member function 'JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Jump QQmlJS::MASM::InstructionSelection::genTryDoubleConversion(QQmlJS::V4IR::Expr*, JSC::MacroAssemblerARM::FPRegisterID)':
compiler/qv4isel_masm.cpp:2172:14: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble'
Qt5 git version
commit cb2d850b479fed9fed3c4a9fea698f924be942ef
Author: Qt Submodule Update Bot <qt_submodule_update_bot@ovi.com>
Date: Tue Oct 15 22:00:06 2013 +0300
LTIB 4.
Kindly let me know if you have solution?
Thanks & Regards
That's a real bug in Qt, see workaround in: https://bugreports.qt-project.org/browse/QTBUG-34065
(I would guess you are actually compiling post 5.1 version, 5.1.1 should compile just fine. If you cloned the qt5 sources remember to checkout the appropriate git tag to get 5.1.1)
Hi,
I would like to cross compile tool chain and prebuilt rootfs based on ltib to cross compile Qt5.x for IMX6 Sabre AI board. Please let me know where can I download the same so that I can use the same cross compiler tool chain and rootfs used in this thread.
Thanks,
Ramakanth