[Development] Antwort: Building Qt5 for embedded Linux ARM

Dietrich.Gossen at continental-corporation.com Dietrich.Gossen at continental-corporation.com
Tue Dec 6 17:02:46 CET 2011


Hi Thiago,

thank you for your help.
Freescale (the manufacturer of the iMX53 Board) provides an Ubuntu image 
for the board.
So the OS is already running. All I need is to cross compile Qt5 for ARM.
Also, there's a toolchain available that contains a compiler.

This compiler is the arm-none-linux-gnueabi-gcc.

My problem right now is, that during the building process of Qt5, the 
linker can't find some libraries.
Output.txt (attached file) contains the output and the errors of the 
build.
These are the headers that the linker couldn't find:

missing header
location found on hd
tiffio.h
/home/qt5/qtbase/src/3rdparty/libtiff
libmng.h
/home/qt5/qtbase/src/3rdparty/libmng
sqlcli.h
-
sqlcli1.h
-
ibase.h
 /home/qt5/qtbase/include/QtSql 
oci.h
 /home/qt5/qtbase/include/QtSql
sql.h
 /home/qt5/qtbase/include/QtSql
sqlext.h
-
libpq-fe.h
-
sqlite.h
 /home/qt5/qtbase/include/QtSql
sybfront.h
-
sybdb.h
-
unicode/utypes.h
/usr/include/unicode
unicode/ucol.h
/usr/include/unicode
unicode/ustring.h
/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 

Any ideas?

Bye,
Dietrich







Von:    Dietrich Gossen/usr/cag
An:     Dietrich Gossen/usr/cag at conti07
Datum:  06.12.2011 15:44
Betreff:        Building Qt5 for embedded Linux ARM


On Thursday, 1 de December de 2011 14.24.54, Dietrich.Gossen at 
continental-
corporation.com wrote:
> 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. I am using the i.MX53 Quickstart Board from 
> Freescale. Qt5 is already running on my Ubuntu 10.04, but I would like 
to 
> set up a Qt5 environment that allows my to cross compile for this ARM 
> board.

Hi Dietrich

Please note that Qt 5 is very much at development stage right now. Also, 
please use the development mailing list (which I have now added) for 
discussions about Qt 5.

The answer to "which compiler should I use" is probably "the one your 
toolchain uses". In other words, usually the compiler is not a question. 
You 
have a compiler and you simply use it with Qt.

> That’s how my configure looks like:
> 
> ./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. 

He probably wrote it himself. Note that the "linux-g++-mx5x" string should 
not 
be understood as a compiler, but as a platform or, more precisely, as a 
makespec. 

I have done the same: I have written my own makespecs for ARM and MIPS, 
based 
on the compilers I have access to. I have downloaded the MeeGo ARMv7 
hardfloat 
toolchain and sysroot, and I have the Yocto MIPS toolchain too. So I 
simply 
wrote the makespec to match the environment I have available.

> As far as I understand there are actually to possible compiler that are 
> available for cross compiling for ARM. 
> 1. arm-none-linux-gnueabi-gcc
> 2. arm-linux-gcc

Those are the same compiler, just with a slightly different name. It's 
still 
GCC. The other "usual" compiler for ARM is ARM Inc.'s own RVCT.

> But I don't know how to install and use them for my configure command.
> 
> Did anyone already succeed in building Qt5 for any ARM chip?

I have succeeded in compiling Qt 5 for ARM and for MIPS (and yeah, look at 
my 
email address...). But I think you're addressing this the wrong way. You 
need 
to look first at the toolchain and the environment you have. Then you make 
Qt 
work with that compiler.

So your first step is to go back to your project and get the toolchain and 

sysroot from them. If you are trying to run Qt on a particular system, 
they 
already have that toolchain and sysroot. In case you're starting a new 
project 
right now to run on that chip, the board vendor usually gives you a Board 
Support Package which includes a compiler. However, I'd really recommend 
you 
take a look at the Yocto Project for you to create your environment first 
-- 
which includes a reasonably recent GCC and glibc.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
Url : 
http://lists.qt-project.org/pipermail/development/attachments/20111201/57207d39/attachment.bin 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20111206/96e9b790/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: output.txt
URL: <http://lists.qt-project.org/pipermail/development/attachments/20111206/96e9b790/attachment.txt>


More information about the Development mailing list