Building Qt for i.MX5x

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Building Qt for i.MX5x

36,959 Views
mdc
Contributor V
Hi,

I recently had the need to build Qt for the i.MX53 platform so thought I'd document the steps I had to go through here as had to jump through a few hoops to get it to build. If anyone has had similar experiences please share as I know some of the cross compilation difficulties can be somewhat host dependent.

This example has OpenGL ES support and runs under X11 via Xfbdev. Examples for building for OpenGL ES2.0 as well as OpenGL ES1.0 are given.

I borrowed heavily from the http://www.imxdev.org/wiki/index.php?title=All_Boards_Qt site, but I have fully documented the steps required here.

These instructions are based on the 11.03 Linux BSP, and the 4.7.2 release of Qt. 

HOST SETUP

My build system was an up to date ubuntu 10.10 (64-bit) machine. It is assumed the reader is familiar with how to use LTIB. Reference the "ltib_build_host_setup.pdf" file in the linuxdocs package in the latest BSP release for details on how to setup a host to build ltib, but the below shell script may be used to install required packages for an Ubuntu host.

# ---------------
#!/bin/bash
# Install packages needed by LTIB
sudo apt-get -y install gettext libgtk2.0-dev rpm bison m4 libfreetype6-dev
sudo apt-get -y install libdbus-glib-1-dev liborbit2-dev intltool
sudo apt-get -y install ccache ncurses-dev zlib1g zlib1g-dev gcc g++ libtool
sudo apt-get -y install uuid-dev liblzo2-dev
sudo apt-get -y install tcl dpkg
# Packages required for 64-bit Ubuntu
# Do "uname -a" and see if the word "x86_64" shows up.
if uname -a|grep -sq 'x86_64'; then
sudo apt-get -y install ia32-libs libc6-dev-i386 lib32z1
fi
# ---------------

For the host setup to build Qt, start by making sure all of the following packages are installed.

libx11-dev
libpng-dev
libjpeg-dev
libxext-dev
x11proto-xext-dev
qt3-dev-tools-embedded
libxtst-dev

I also installed the following packages mentioned at the bottom of http://trac.webkit.org/wiki/BuildingQtOnLinux when trying to fix various problems. Not sure if any of them are actually required, but shouldn't hurt.

$ sudo apt-get install bison flex libqt4-dev libqt4-opengl-dev libphonon-dev libicu-dev libsqlite3-dev libxext-dev libxrender-dev gperf libfontconfig1-dev libphonon-dev g++

Below is a dump of everything qt related I have installed on my host:

$ dpkg --get-selections | grep qt
libqt3-compat-headers            install
libqt3-headers                install
libqt3-mt                    install
libqt3-mt-dev                install
libqt4-dbus                    install
libqt4-declarative            install
libqt4-designer                install
libqt4-dev                    install
libqt4-help                    install
libqt4-network                install
libqt4-opengl                install
libqt4-opengl-dev                install
libqt4-qt3support                install
libqt4-script                install
libqt4-scripttools            install
libqt4-sql                    install
libqt4-sql-mysql                install
libqt4-svg                    install
libqt4-test                    install
libqt4-webkit                install
libqt4-xml                    install
libqt4-xmlpatterns            install
libqtcore4                    install
libqtgui4                    install
libqtwebkit-dev                install
libqtwebkit4                install
qt3-dev-tools                install
qt3-dev-tools-embedded            install
qt4-qmake                    install

BUILD LTIB

At the time of this writing, the latest BSP for the i.MX53 is 11.03.

This can be downloaded from Freescale's website here:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX535&fpsp=1&tab=Design_Tools_Tab

You'll want both the BSP source and the Multimedia codecs.

Build LTIB with the following packages included (just pick Min profile when initially running ltib config). Make sure to download and copy the multimedia codecs to /opt/freescale/pkgs, and check the patch that is also required for gst-fsl-plugin-1.9.8 in the 11.03 BSP release.

    * amd-gpu-x11-bin-mx51
    * libz160-bin
    * Freescale Multimedia Plugins/Codecs - fsl-mm-codec-libs & gstreamer-fsl-plugins
    * fontconfig
    * freetype
    * glib2
    * gstreamer
    * gstreamer-plugins-base
    * gstreamer-plugins-good
    * gstreamer-plugins-bad
    * gstreamer-plugins-ugly
    * Liberation fonts
    * libjpeg
    * libpng
    * liboil
    * libxml2
    * mysql
    * tslib
    * X11 (X.Org 7.5)
    * X11/libICE
    * X11/libSM
    * zlib

My ltib directory was at /home/matt/imx/mx53/11.03/ltib - make sure to modify the succeeding instructions accordingly based on where you install ltib on your system.

After you build ltib, cd to your ltib/rootfs/usr/lib directory and do the following:

sudo ln -s libgsl-fsl.so libgsl.so

After building ltib, make a symbolic link /tftpboot/ltib pointing to your rootfs folder. This is needed to make the i.MX libs and incs available to qmake.

$ ln -s <rootfs folder dir> /tftpboot/ltib

For my example:

$ ln -s /home/matt/imx/mx53/11.03/ltib/rootfs /tftpboot/ltib

The instructions at the imxdev site also recommend restarting the nfs server (below command). This is only needed if you're mounting your rootfs via NFS. This step has no impact on the Qt build. I typically copy my rootfs to an SD card, so I skip this step.

$ sudo /etc/init.d/nfs-kernel-server restart

RUN QMAKE AND BUILD QT

Download the latest qt-everywhere-opensource release from http://get.qt.nokia.com/qt/source

As of this writing the latest release is 4.7.2:

http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.2.tar.gz

Download and copy the qt-everywhere-opensource-src-4.7.2.tar.gz tar file to the directory where you'll build qt, and untar:

$ tar zxvf qt-everywhere-opensource-src-4.7.2.tar.gz

For the cross compiler path, after installing the 11.03 BSP release and running ltib, you should have this installed at /opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin. I put the full cross compile path in my qmake.conf as I would sometimes have problems during the Qt build without this. Hence you shouldn't need to export the cross compiler path.

Copy the attached mkspecs.mx5x.tar.gz to qt-everywhere-opensource-src-4.7.2
$ tar zxvf mkspecs.mx5x.tar.gz

This will put the qmake.conf at mkspecs/linux-g++-mx5x. Assuming you have the cross compiler installed in the default location noted above you shouldn't need to change anything in qmake.conf.

To build Qt with OpenGL ES2.0 support

$ ./configure -arch arm -xplatform linux-g++-mx5x -release -prefix /tftpboot/ltib/usr/local/Trolltech/Qt-4.7.2-mx5x-x11 -multimedia -phonon -phonon-backend -qt-gfx-linuxfb -qt-kbd-tty -little-endian -host-little-endian -fontconfig -sm -opengl es2

$ make

On my system, I had 3 spots where the build crashed. Not sure if this was specific to something on my system, or if something everyone will see. Bonus points for anyone who's able to figure these out.

Below are the signatures of the failures and how to get around them.

First crash:

make[1]: *** No rule to make target `../JavaScriptCore/release/libjscore.a', needed by `../../../../lib/libQtWebKit.so.4.7.2'.  Stop.
make[1]: Leaving directory `/home/matt/qt/target_builds/mx53/11.03/qt-everywhere-opensource-src-4.7.2/src/3rdparty/webkit/WebCore'
make: *** [sub-webkit-make_default-ordered] Error 2

To fix:

$ cd src/3rdparty/webkit/JavaScriptCore/release/
$ cp jscore. libjscore.a
$ cd -
$ make

Second crash:

/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.4.4/../../../../arm-fsl-linux-gnueabi/bin/ld: cannot find -lpnp_basictools
collect2: ld returned 1 exit status
make[3]: *** [plugandpaint] Error 1
make[3]: Leaving directory `/home/matt/qt/target_builds/mx53/11.03/qt-everywhere-opensource-src-4.7.2/examples/tools/plugandpaint'
make[2]: *** [sub-plugandpaint-make_default-ordered] Error 2
make[2]: Leaving directory `/home/matt/qt/target_builds/mx53/11.03/qt-everywhere-opensource-src-4.7.2/examples/tools'
make[1]: *** [sub-tools-make_default] Error 2
make[1]: Leaving directory `/home/matt/qt/target_builds/mx53/11.03/qt-everywhere-opensource-src-4.7.2/examples'
make: *** [sub-examples-make_default-ordered] Error 2

To fix:

$ cd examples/tools/plugandpaint/plugins/
$ cp pnp_basictools. libpnp_basictools.a
$ cd -
$ make

Third crash:

/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.4.4/../../../../arm-fsl-linux-gnueabi/bin/ld: cannot find -ldemo_shared
collect2: ld returned 1 exit status
make[2]: *** [deform] Error 1
make[2]: Leaving directory `/home/matt/qt/target_builds/mx53/11.03/qt-everywhere-opensource-src-4.7.2/demos/deform'
make[1]: *** [sub-deform-make_default] Error 2
make[1]: Leaving directory `/home/matt/qt/target_builds/mx53/11.03/qt-everywhere-opensource-src-4.7.2/demos'
make: *** [sub-demos-make_default-ordered] Error 2

To fix:

$ cd demos/shared/
$ cp demo_shared. libdemo_shared.a
$ cd -
$ make

After the make completes successfully, do the following to install Qt to your rootfs:

$ sudo make install

This will install to the directory you have defined in the -prefix switch when you ran configure. In my example this is /tftpboot/ltib/usr/local/Trolltech/Qt-4.7.2-mx5x-x11.

If you want the fluidlauncher demo (referenced later), you'll need to build and copy this manually to the rootfs. The following will do this as well as everything at demos/embedded:

$ cd qt-everywhere-opensource-src-4.7.2/demos/embedded
$ make
$ sudo make install
$ cd fluidlauncher
$ make
$ cd ..
$ sudo cp -r fluidlauncher /tftpboot/ltib/usr/local/Trolltech/Qt-4.7.2-mx5x-x11/demos/embedded

Not sure why make install doesn't work in the fluidlauncher demo, but copying the executable directly works fine.

Copy the libs from usr/local/Trolltech/Qt-target-version/lib/ to usr/lib/:

$ sudo cp -a /tftpboot/ltib/usr/local/Trolltech/Qt-target-version/lib/* /tftpboot/ltib/usr/lib/

In my example:

$ sudo cp -a /tftpboot/ltib/usr/local/Trolltech/Qt-4.7.2-mx5x-x11/lib/* /tftpboot/ltib/usr/lib/

Now the rootfs should be ready to either NFS mount, or copy to an SD card. See the instructions at the end of the setup for details on copying the bootloader, kernel, and rootfs to an SD card.

Starting QT Demos and Examples

Boot the i.MX53 board, then from the console, start X11 using the command:

export DISPLAY=:0.0
Xfbdev -mouse mouse,,device=/dev/input/mice -keybd keyboard,,/dev/input/event2 &

This will start X11 with USB mouse and keyboard support and return the command prompt.

There are several demos and examples on folder /usr/local/Trolltech/Qt-target-version. The demo below shows OpenGLES 2.0 functionality:

cd /usr/local/Trolltech/Qt-target-version/demos/pathstroke
./pathstroke

Another good one is the fluidlauncher demo at /usr/local/Trolltech/Qt-target-version/demos/embedded/fluidlauncher
./fluidlauncher

In some of the fluidlauncher demos (i.e., the Pathstroke and Qt magnifying glass), if you click on the window, you'll see an OpenGL button that enables/disables OpenGL. Note I was seeing some color issues with the below message in the console when I enabled OpenGL in the fluidlauncher demo. Need to try to figure this one out.

     Warning: EGL suggested using X Visual ID 33 (ARGB0565) for EGL config 15 (ARGB1555), but this is incompatable


To build Qt with OpenGL ES1.0 support

If you need OpenGL ES1.0 support (i.e. - if you have existing Qt OpenGL 1.0 apps that you want to test), everything is the same as what's described above, with a couple exceptions as described below.

The first thing you'll need to change is go to the qt-everywhere-opensource-src-4.7.2/mkspecs/linux-g++-mx5x directory, and you'll note there are separate qmake.conf files for OpenGL ES1 and ES2. The primary difference between these files is modifying QMAKE_LIBS to include either -lGLESv2, or -lGLESv1_CM (I had trouble getting OpenGL to work if both were included).

Also, when you run configure you'll set the -opengl switch to "es1" instead of "es2":

$ ./configure -arch arm -xplatform linux-g++-mx5x -release -prefix /tftpboot/ltib/usr/local/Trolltech/Qt-4.7.2-mx5x-x11 -multimedia -phonon -phonon-backend -qt-gfx-linuxfb -qt-kbd-tty -little-endian -host-little-endian -fontconfig -sm -opengl es1

$ make

You'll hit the same 3 build errors as when building for OpenGL ES2.0 that you'll work around the same way as described above.

Note there is one additional problem you'll hit when building with the "es1" switch you'll need to work around. The signature of this crash is as follows:

In file included from ../../include/QtOpenGL/private/qpaintengine_opengl_p.h:1,
                 from qpixmapdata_x11gl_egl.cpp:54:
../../include/QtOpenGL/private/../../../src/opengl/qpaintengine_opengl_p.h:150: error: 'GLenum' has not been declared
make[1]: *** [.obj/release-shared/qpixmapdata_x11gl_egl.o] Error 1
make[1]: Leaving directory `/home/matt/qt/target_builds/mx53/11.03/es1/qt-everywhere-opensource-src-4.7.2/src/opengl'
make: *** [sub-opengl-make_default-ordered] Error 2

To work around this, copy the attached qt_qpaintengine_gles1.patch to qt-everywhere-opensource-src-4.7.2 and apply:

$ patch -p1 <qt_qpaintengine_gles1.patch
patching file src/opengl/qpaintengine_opengl_p.h

This can be done before you run configure.

Prepping an SD card

This info is available in the linux BSP user's guide, but is included here for completeness. In the below example, /dev/sdx should be replaced by whatever the device note is for your SD card reader (do "dmesg" after you insert your SD card and that should tell you).

$ sudo umount /dev/sdx*
$ cd /tftpboot/ltib/boot/
$ sudo dd if=u-boot.bin of=/dev/sdx bs=512 && sync && sync
$ sudo dd if=uImage of=/dev/sdx bs=512 seek=2048 && sync && sync
$ sudo fdisk /dev/sdx
    Command (m for help): u
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    First sector (62-7744511, default 62): 8192
    Last sector, +sectors or +size{K,M,G} (8192-7744511, default 7744511): (Just hit return, your ending sector may be different)
    Command (m for help): w
$ sudo mkfs.ext3 /dev/sdx1
$ sudo mkdir /media/sd_mount
$ sudo mount /dev/sdx1 /media/sd_mount
$ cd /tftpboot/ltib
$ sudo cp -rpa [A-z]* /media/sd_mount
$ sync
$ sync
$ sudo umount /dev/sdx*

The SD card should now be ready to boot.

Note you'll need to setup the u-boot environment variables the first time you boot so the kernel command line and various variables to set the display, etc... are set. This is going to be specific to the board you're using. Consult the BSP user's guide and release notes for your board for the specifics here. This procedure was tested on an MX53EVK (an early eval board), but no reason it shouldn't work with the MX53 Quick Start Board, MX53 Sabre Tablet, MX51EVK, or other MX5x platforms (assuming you build and setup u-boot properly for your board).

Original Attachment has been moved to: 802-mkspecs.mx5x.tar.gz

Original Attachment has been moved to: 803-qt_qpaintengine_gles1.patch

Tags (2)
88 Replies

2,905 Views
OtavioSalvador
Senior Contributor II

meta-qt5 is where the work should be done. Martin and I have been working on this but as I said it is not yet ready.

0 Kudos
Reply

2,905 Views
kesavamoorthy
Contributor II

If the meta-qt5 integration is gonna be trivial, Can you please give me some pointers on where to start, So that i can go on with it.

0 Kudos
Reply

2,905 Views
OtavioSalvador
Senior Contributor II

You should include it in the build and fix the issues ;-)

0 Kudos
Reply

2,905 Views
kesavamoorthy
Contributor II

Thank you. I ll check

0 Kudos
Reply

2,905 Views
kesavamoorthy
Contributor II

Thanks for your reply .Waiting for the release :smileyhappy:

0 Kudos
Reply

2,905 Views
rogerio_silva
NXP Employee
NXP Employee

And complementing the information from Otavio, Yocto already has VPU and GPU enabled for i.MX53 by now.

QT player and hellogl_es2 have their icons on desktop if you build the image fsl-image-gui.

0 Kudos
Reply

2,905 Views
enaud
Contributor III

Ok I'm following this instructions I have a problem with Multimedia codecs I've downloading IMX_MMCODECS_11.03_Bundle.tar.gz In readme I read: After install the ltib, install the ltib patch, following the readme file inside this file Patch_for_MM_1.9.8_Ltib.zip I've already Ltib on my PC. In "ltib File" directory in Patch_for_MM_1.9.8_Ltib.zip there is 1.9.8_patch_readme.TXT where i read: After install the ltib, please replace ltib/dist/lfs-5.1/fsl- mm/gst-fsl-plugin.spec with the new one <---- Ok i've doing Put patch file "gst-fsl-plugin- 1.9.8.patch" together with gst-fsl- plugin-1.9.8.tar.gz <---- where? And after what i must do? thanks

0 Kudos
Reply

2,905 Views
KrishnaPavan
Contributor II

Hi Gong,

Can you give your configure line like ./configure -arm ......etc...etc... if possible..

I am facing problems with the Qt..on ..i.MX, with webkit in src/3rdparty/......

0 Kudos
Reply

2,905 Views
GongXiPeng
Contributor I
By Luca Bonifacio's approach with LTIB integrated compile Qt 4.7.4 successfully, be sure to choose MySQL

 

0 Kudos
Reply

2,905 Views
GongXiPeng
Contributor I

I'm sorry, repeat

0 Kudos
Reply

2,905 Views
GongXiPeng
Contributor I

I am using qt-everywhere-opensource-src-4.7.4, and the latest L2.6.35_11.09.01_ER_source.tar.gz, In accordance with the previous post said you can, but in the end:

make[3]: Entering directory `/home/lucid/qt-everywhere-opensource-src-4.7.4/demos/spectrum/app'
make[3]: Nothing to be done for `first'.
make[3]: Leaving directory `/home/lucid/qt-everywhere-opensource-src-4.7.4/demos/spectrum/app'
make[2]: Leaving directory `/home/lucid/qt-everywhere-opensource-src-4.7.4/demos/spectrum'
make[1]: Leaving directory `/home/lucid/qt-everywhere-opensource-src-4.7.4/demos'

Please help me! Thank you very much!

0 Kudos
Reply

2,905 Views
GongXiPeng
Contributor I

./configure -arch arm -xplatform linux-g++-mx5x -release -prefix /tftpboot/ltib/usr/local/Trolltech/Qt-4.7.2-mx5x-x11 -multimedia -phonon -phonon-backend -qt-gfx-linuxfb -qt-kbd-tty -little-endian -host-little-endian -fontconfig -sm -opengl es2 

fail:

 

 

Phonon support cannot be enabled due to functionality tests!  Turn on verbose messaging (-v) to ./configure to see the final report.  If you believe this message is in error you may use the continue  switch (-continue) to ./configure to continue. lucid@ubuntu:~/qt-everywhere-opensource-src-4.7.4$ make make: *** No targets specified and no makefile found.  Stop

0 Kudos
Reply

2,905 Views
AlanS_
Contributor I

Swamy,

 

I ended up solving this problem by rechecking the 'ltib' configuration.  Somehow the 'EHCI HCD (USB 2.0) support' option fell out of my build so I added this back into the build and it now works.  I also used Matt's suggested keyboard and mouse configuration commands from his tutorial.  Hope this helps.

 

Regards,

Alan

Swamy said:

Hello Alan,

I am also facing the same issue as you are. If you have found the answer please share me how to configure the Mouse and Keyboard

Regards,

Swamy

Alan S. said:

Hello,

Finally succeeded in getting Qt to cross-compile correctly and I am able to run the 'fluidlauncher' demo on my QSB (appears to display correctly on my vga monitor).  However, I am not able to get the mouse and keyboard to work on any demo apps.  I am including output from a device listing and my DISPLAY and Xfbdev initializations.  Any help would be appreciated.

Thanks,

Alan

 

root@freescale ~$ cat /proc/bus/input/devices
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="gpio-keys"
P: Phys=gpio-keys/input0
S: Sysfs=/devices/platform/gpio-keys/input/input0
U: Uniq=
H: Handlers=kbd event0
B: EV=3
B: KEY=1c0000 0 0 0

I: Bus=0013 Vendor=15b6 Product=9052 Version=0101
N: Name="da9052-tsi"
P: Phys=input(tsi)
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=1000003

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="da9052-onkey"
P: Phys=da9052-onkey/input0
S: Sysfs=/devices/platform/imx-i2c.0/i2c-0/0-0048/da9052-onkey/input/input2
U: Uniq=
H: Handlers=kbd event2
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="mma8450"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=event3
B: EV=9
B: ABS=7


<t-4.7.4-mx5x-x11/demos/embedded$ export DISPLAY=:0.0

<,,device=/dev/input/mice -keybd keyboard,,/dev/input/event2 &
[1] 2198
root@freescale /Trolltech/Qt-4.7.4-mx5x-x11/demos/embedded$ _XSERVTransSocketOpe
nCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/freescale:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6
mxc_ipu mxc_ipu: Channel already disabled 9
mxc_ipu mxc_ipu: Channel already uninitialized 9
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Can't find file "xfree86" for keycodes include
>                   Exiting
>                   Abandoning keycodes file "default"
Errors from xkbcomp are not fatal to the X server
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap
Kbd option key (/dev/input/event2) of value ((null)) not assigned!
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Can't find file "xfree86" for keycodes include
>                   Exiting
>                   Abandoning keycodes file "default"
Errors from xkbcomp are not fatal to the X server
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap

0 Kudos
Reply

2,905 Views
gregorymaertens
Contributor I

Quick update so the post doesn't stay unanswered: got it to work not using the system jpeg library but instead qjpeg.

Need to have LD_LIBRARY_PATH point to lib/plugins/imageformats and QTPLUGIN += qjpeg added to .pro file, then it works fine.

0 Kudos
Reply

2,905 Views
Swamy
Contributor III

Hello Alan,

I am also facing the same issue as you are. If you have found the answer please share me how to configure the Mouse and Keyboard

Regards,

Swamy

Alan S. said:

Hello,

Finally succeeded in getting Qt to cross-compile correctly and I am able to run the 'fluidlauncher' demo on my QSB (appears to display correctly on my vga monitor).  However, I am not able to get the mouse and keyboard to work on any demo apps.  I am including output from a device listing and my DISPLAY and Xfbdev initializations.  Any help would be appreciated.

Thanks,

Alan

 

root@freescale ~$ cat /proc/bus/input/devices
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="gpio-keys"
P: Phys=gpio-keys/input0
S: Sysfs=/devices/platform/gpio-keys/input/input0
U: Uniq=
H: Handlers=kbd event0
B: EV=3
B: KEY=1c0000 0 0 0

I: Bus=0013 Vendor=15b6 Product=9052 Version=0101
N: Name="da9052-tsi"
P: Phys=input(tsi)
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=1000003

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="da9052-onkey"
P: Phys=da9052-onkey/input0
S: Sysfs=/devices/platform/imx-i2c.0/i2c-0/0-0048/da9052-onkey/input/input2
U: Uniq=
H: Handlers=kbd event2
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="mma8450"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=event3
B: EV=9
B: ABS=7


<t-4.7.4-mx5x-x11/demos/embedded$ export DISPLAY=:0.0

<,,device=/dev/input/mice -keybd keyboard,,/dev/input/event2 &
[1] 2198
root@freescale /Trolltech/Qt-4.7.4-mx5x-x11/demos/embedded$ _XSERVTransSocketOpe
nCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/freescale:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6
mxc_ipu mxc_ipu: Channel already disabled 9
mxc_ipu mxc_ipu: Channel already uninitialized 9
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Can't find file "xfree86" for keycodes include
>                   Exiting
>                   Abandoning keycodes file "default"
Errors from xkbcomp are not fatal to the X server
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap
Kbd option key (/dev/input/event2) of value ((null)) not assigned!
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Can't find file "xfree86" for keycodes include
>                   Exiting
>                   Abandoning keycodes file "default"
Errors from xkbcomp are not fatal to the X server
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap

0 Kudos
Reply

2,905 Views
Swamy
Contributor III

Hello,

I am able to compile QT4.7.4 for IMX53 SMD. But Keyboard is not working.

This is my configure file...

./configure --prefix=/usr/local/Trolltech/%{name}-%{version}-x11 -arch arm -xplatform linux-g++-mx -release \
        -no-qt3support -qt-gfx-linuxfb -qt-kbd-tty -little-endian -host-little-endian -fontconfig -sm -v -opensource -confirm

Please suggest,

Regards,

Swamy

0 Kudos
Reply

2,905 Views
gregorymaertens
Contributor I

Hello,
I have compiled and ran successfuly BSP 11.09 for iMX53 QSB with Qt (4.7.2) using the great tutorial posted here.

My Qt application uses JPEGs. This application runs fine on other HW platform, but can't display the JPEG pictures in my current build on the QSB.Looking at the error code from Qt it says format not supported.Qt is configured using the command line provided with this tutorial which means it uses the system JPEG library. LTIB was compiled with libjpeg and it is indeed present in /tftpboot/ltib/usr/lib/ (both .a and .so, libjpeg.so.62). I verified they are available in /usr/lib on the QSB by using the terminal.If I use PNGs they are displayed correctly. I then recompiled Qt to use instead the Qt provided JPEG library (qt-libjpeg), then modify my app to add the Qt macros to load the plugin. Same result (format not supported). Qt is compiled in shared mode and not static due to the requirement of having phonon (which doesn't support static build).
Any idea what could be wrong?
Thanks!Greg

0 Kudos
Reply

2,907 Views
AlanS_
Contributor I

Hello,

Finally succeeded in getting Qt to cross-compile correctly and I am able to run the 'fluidlauncher' demo on my QSB (appears to display correctly on my vga monitor).  However, I am not able to get the mouse and keyboard to work on any demo apps.  I am including output from a device listing and my DISPLAY and Xfbdev initializations.  Any help would be appreciated.

Thanks,

Alan

 

root@freescale ~$ cat /proc/bus/input/devices
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="gpio-keys"
P: Phys=gpio-keys/input0
S: Sysfs=/devices/platform/gpio-keys/input/input0
U: Uniq=
H: Handlers=kbd event0
B: EV=3
B: KEY=1c0000 0 0 0

I: Bus=0013 Vendor=15b6 Product=9052 Version=0101
N: Name="da9052-tsi"
P: Phys=input(tsi)
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=1000003

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="da9052-onkey"
P: Phys=da9052-onkey/input0
S: Sysfs=/devices/platform/imx-i2c.0/i2c-0/0-0048/da9052-onkey/input/input2
U: Uniq=
H: Handlers=kbd event2
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="mma8450"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=event3
B: EV=9
B: ABS=7


<t-4.7.4-mx5x-x11/demos/embedded$ export DISPLAY=:0.0

<,,device=/dev/input/mice -keybd keyboard,,/dev/input/event2 &
[1] 2198
root@freescale /Trolltech/Qt-4.7.4-mx5x-x11/demos/embedded$ _XSERVTransSocketOpe
nCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/freescale:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6
mxc_ipu mxc_ipu: Channel already disabled 9
mxc_ipu mxc_ipu: Channel already uninitialized 9
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Can't find file "xfree86" for keycodes include
>                   Exiting
>                   Abandoning keycodes file "default"
Errors from xkbcomp are not fatal to the X server
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap
Kbd option key (/dev/input/event2) of value ((null)) not assigned!
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Can't find file "xfree86" for keycodes include
>                   Exiting
>                   Abandoning keycodes file "default"
Errors from xkbcomp are not fatal to the X server
(EE) Error compiling keymap (server-0)
(EE) XKB: Couldn't compile keymap

0 Kudos
Reply

2,907 Views
bonil
Contributor I

I also had a similar problem like you: .obj/release-shared/xxxx.o: file not recognized: File truncated

I fixed it by doing the following:

$ cd rpm/BUILD/qt-everywhere-opensource-src-4.7.4/src/3rdparty/webkit

$ make clean

$ cd -

 

Then if building qt from ltib run:

$ ./ltib -c

else if building qt directly from sources:

$ make

0 Kudos
Reply

2,907 Views
Swamy
Contributor III

Hello,

I am using 4.7.4. I am getting following error. Can anyone please suggest.I need webkit.

ctor.o .obj/release-shared/qrc_WebCore.o .obj/release-shared/qrc_WebKit.o   -L/home/lucid/ltib/rpm/BUILD/qt-everywhere-opensource-src-4.7.4/lib -L../JavaScriptCore/release -L/home/lucid/ltib/rpm/BUILD/../../rootfs/usr/lib -ljscore -L/home/lucid/ltib/rpm/BUILD/qt-everywhere-opensource-src-4.7.4/lib -L/home/lucid/ltib/rpm/BUILD/../../rootfs/usr/lib -lQtGui -lQtNetwork -lQtCore -lz -lxcb -lXau -lxcb-xlib -lXext -lXrender -lX11 -lfreetype -lexpat -lfontconfig -lSM -lpng -lICE -lxml2 -lasound -lglib-2.0 -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0 -lgstreamer-0.10 -lEGL -lgsl-fsl -lGLESv2 -lpthread -lXrender -lfreetype -lfontconfig -lXext -lX11 -lm
.obj/release-shared/JSDOMWindow.o: file not recognized: File truncated
collect2: ld returned 1 exit status
make[1]: *** [../../../../lib/libQtWebKit.so.4.7.4] Error 1
make[1]: Leaving directory `/home/lucid/ltib/rpm/BUILD/qt-everywhere-opensource-src-4.7.4/src/3rdparty/webkit/WebCore'
make: *** [sub-webkit-make_default-ordered] Error 2
error: Bad exit status from /home/lucid/ltib/tmp/rpm-tmp.89544 (%build)

Regards,

Swamy

0 Kudos
Reply

2,907 Views
Swamy
Contributor III

By default if we select from LTIB, it asks for 4.6.0 file. How shall I make it to take QT 4.7.4.

Also please do send me the build command and procedure to include the QT 4.7.4 in my LTIB

 

Regards,

Swamy

0 Kudos
Reply