November 28, 2011

qtd1d1 qtd1d1
Lab Rat
71 posts

Building Qt5 for Embedded Linux ARM - compiler problems

 

Hi,

I read this… [labs.qt.nokia.com] labs post, but I couldn’t figure out how build Qt5 for ARM with embedded linux. My main problem is that I don’t know which compiler to use.

That’s how my configure looks like:

  1. ./configure -opensource -arch arm -xplatform ??????? -release -opengl es2 -little-endian -nomake docs -no-svg -no-audio-backend -no-multimedia -no-xmlpatterns -no-v8 -no-location -no-declarative -no-cups -xcb -no-wayland -no-phonon -no-qt3support -no-webkit -no-javascript-jit -no-neon -confirm-license -verbose -qpa -no-gtkstyle

I read already this thread: Qt5 on linux arm – xcb platform plugin not working [developer.qt.nokia.com]
but I don’t know where exactly and how he got the linux-g++-mx5x compiler.

Any ideas?
Thanks

1 reply

December 5, 2011

qtd1d1 qtd1d1
Lab Rat
71 posts

Ok, I made some progress in trying to build Qt5 for ARM (it’s actually the iMX53 from Freescale). I am using the toolchain and some libraries of freescale, that they provide with LTIB (linux target image builder).

And I am using a modified qmake.conf in mkspecs (linux-g++-mx5x).

The problem right now is that some libraries aren’t found. Some of them do excist and some not. These are the missing libs, with the location where I found them by myself:

tiffio.h (found in /home/qt5/qtbase/src/3rdparty/libtiff)
libmng.h (found in /home/qt5/qtbase/src/3rdparty/libmng)
sqlcli.h – sqlcli1.h – ibase.h (found in /home/qt5/qtbase/include/QtSql)
oci.h (found in /home/qt5/qtbase/include/QtSql)
sql.h (found in /home/qt5/qtbase/include/QtSql)
sqlext.h – libpq-fe.h – sqlite.h (found in /home/qt5/qtbase/include/QtSql)
sybfront.h – sybdb.h – unicode/utypes.h (found in /usr/include/unicode)
unicode/ucol.h (found in /usr/include/unicode)
unicode/ustring.h (found in /usr/include/unicode)
pulse/pulseaudio.h – pulse/glib-mainloop.h –

Additionaly the arm-none-linux-gnueabi-g++ compiler does not recognize the following arguments:
-mmx
-m3dnow
-msse
-msse2
-msse3
-mssse3
-msse4.1
-msse4.2
-mavx
-lxcb

That’s a part of the output of the building process (look the attached output of the configure command, to view all of the error messages):
/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -mmmx -g -Wall -W -I../../../mkspecs/linux-g++-mx5x -I. -I/home/lucid/imx/11.09/ltib/rootfs/usr/include -I/home/lucid/imx/11.09/ltib/rootfs/usr/include/glib-2.0 -I/tftpboot/ltib/usr/lib/glib-2.0/include -I/tftpboot/ltib/usr/include/gstreamer-0.10 -I/tftpboot/ltib/usr/include/libxml2 -I/home/lucid/imx/11.09/ltib/rootfs/usr/include/freetype2 -I/home/lucid/imx/11.09/ltib/rootfs/usr/include/mysql -I/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/lib/gcc/arm-fsl-linux-gnueabi/4.4.4/include -o mmx.o mmx.cpp
cc1plus: error: unrecognized command line option “-mmmx”
make: *** [mmx.o] Error 1
mmx disabled.

I tried to do it like this:
QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_RPATHDIR += “/tftpboot/ltib/usr/lib”
QMAKE_RPATHDIR += “/tftpboot/ltib/usr/local/lib”
QMAKE_RPATHDIR += “/tftpboot/ltib/lib”

but this approach didn’t work.

Does anyone know how to include the correct paths into the qmake.conf?

Thanks

 
  ‹‹ Loading the OCI driver on the MAC      can’t run on other computer ››

You must log in to post a reply. Not a member yet? Register here!