Need help compiling Qt for embedded device (i.mx51 evk)
ngrosjean gave a good tip.
Also, sanjay1758, please dont post multiple identical posts on the same board.
It only creates confusion. Your other thread [developer.qt.nokia.com]
When you try to compile for the target platform you have to point Qt toward the libraries compiled for that system. It is apparent that you miss the file libglib-2.0.so , either because the folder provided in qmake.conf is wrong or because the file simply isnt there. Obviously you cannot provide a path to your laptop/workstations version of these libraries to solve the issue.
If you use LTIB when setting up the image to be used on the card, look at the second link. It specifies that you use glib2.0 when you compile qt.
Regarding opengl, es2, tslib;
Tslib can be compiled from source (i did myself) to solve this issue.
You can also probably get away by copying the gl,es2 etc files from a precompiled image.
I have a Freescale i.MX51 EVK card, and downloaded a precompiled image from their website.
It contained all the files i needed to get these systems up and running.
Most of the questions related to LTIB (ubuntu) can be seen here;
Builing LTIB on Ubuntu 10.04 [imxcommunity.org]
As for compiling Qt for the Imx.51 EVK, look at this;
All Boards Qt iMXwiki [imxdev.org]
check the configure scripts. mostly it is failing trying to make sample opengl file in src/config.tests/unix/opengles* , where * is 1 or 2 depending on the version you are compiling. cd to the directory and do a make.
This is auto generated make file. If it fails, you will get the opengl configuration error while doing a configure also. Try setting right values in the make file. If you are able to build this, set the same values in qmake.conf.
Hi I tried to cross compile qt-everywhere-opensource-src-4.6.1 with openGL es2 support.
Host:Ubuntu 10.04.4 LTS
Target:ARM Cortex A8 (Freescale i.MX51 Processor)
Steps i did are,
1.downloaded qt-everywhere-opensource-src-4.6.1.tar.gz from ftp://ftp.qt.nokia.com/qt/source/ [ftp.qt.nokia.com]
2.Copied mkspecs for arm-cortex_a8-linux-gnueabi-g++ and modified its qmake.conf as given – https://dl.dropboxusercontent.com/u/12382973/linux-g++-mx5x/qmake.conf [dl.dropboxusercontent.com] . 3.then configured as,
- ./configure -arch arm -xplatform linux-g++-mx5x -release -prefix / -multimedia -qt-gfx-linuxfb -qt-kbd-tty -little-endian -host-little-endian -fontconfig -sm -opengl es2
And now i got the problem it shows,
“The EGL functionality test failed!
EGL is required for OpenGL ES to manage contexts & surfaces.
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in
but in qmake.conf it has,
- QMAKE_INCDIR_EGL = /usr/local/DigiEL-5.6/x-tools/arm-cortex_a8-linux-gnueabi/arm-cortex_a8-linux-gnueabi/sys-root/usr/include/EGL
- QMAKE_LIBDIR_EGL = /usr/local/DigiEL-5.6/x-tools/arm-cortex_a8-linux-gnueabi/arm-cortex_a8-linux-gnueabi/sys-root/usr/lib
- QMAKE_LIBS_EGL = -lEGL
when i use -v switching in config it gives errors as in the file – https://dl.dropboxusercontent.com/u/12382973/configError.txt [dl.dropboxusercontent.com]
Have you successfully compiled?
- usr/local/DigiEL-5.6/x-tools/arm-cortex_a8-linux-gnueabi/lib/gcc/arm-cortex_a8-linux-gnueabi/4.4.3/../../../../arm-cortex_a8-linux-gnueabi/bin/ld: cannot find -lxcb
- collect2: ld returned 1 exit status
- make: *** [egl4gles1] Error 1
Please use ‘code’-tags around your code, much more readable then.
From the errorlog you provided it looks like you are missing a libxcb.so library? Or variants of this.
Search your filesystem for this library, and also verify that its location is in the build path of the application.
I honestly dont know whether you need it or not. You compiled some code and requested that the library should be linked in, but it failed since it could not find it.
Did you run this command to search?
- find / -name *xcb*
Another option could be to extract the precompiled image you got, and search among those files. The library might be there (and in correct arm-variant).