PDA

View Full Version : Qtopia cross-compile for arm



Bitz
2nd June 2006, 08:38
Hello,

I'm new on Qtopia and linux. I have installed Qtopia-Core 4.1.1 for my x86-System without problems. Now i want to cross-compile Qtopia-Core 4.1.1 for my embedded ARM-system, but it crashed..

I've configured Qtopia with:

./configure -prefix /usr/local/Trolltech/QtopiaCore-4.1.1-arm -embedded arm -depths 4,8 -pch -qt-zlib -qt-libjpeg -qt-libpng -release

If I would run "make" the compiler crash on file src/corelib/arch/arm/malloc.c

ErrorMessage:



arm-linux-gcc -c -include .obj/release-shared-emb-arm/QtCore -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include -I../../include/QtCore -Iglobal -I../3rdparty/zlib -I.moc/release-shared-emb-arm -I. -o .obj/release-shared-emb-arm/malloc.o arch/arm/malloc.c
arch/arm/malloc.c:298:2: invalid preprocessing directive #if
arch/arm/malloc.c:300:2: invalid preprocessing directive #else
arch/arm/malloc.c:301:1: warning: "__STD_C" redefined
arch/arm/malloc.c:299:1: warning: this is the location of the previous definition
arch/arm/malloc.c:311:2: invalid preprocessing directive #if
arch/arm/malloc.c:313:2: invalid preprocessing directive #else
arch/arm/malloc.c:314:1: warning: "Void_t" redefined
arch/arm/malloc.c:312:1: warning: this is the location of the previous definition
arch/arm/malloc.c:316:2: #endif without #if
arch/arm/malloc.c:318:2: invalid preprocessing directive #if
In file included from arch/arm/malloc.c:319:
/opt/emlix/netdcu5/lib/gcc/arm-linux/3.4.3/include/stddef.h:30:2: invalid preprocessing directive #if
/opt/emlix/netdcu5/lib/gcc/arm-linux/3.4.3/include/stddef.h:39:2: invalid preprocessing directive #if
/opt/emlix/netdcu5/lib/gcc/arm-linux/3.4.3/include/stddef.h:42:2: invalid preprocessing directive #define
/opt/emlix/netdcu5/lib/gcc/arm-linux/3.4.3/include/stddef.h:43:2: invalid preprocessing directive #define
/opt/emlix/netdcu5/lib/gcc/arm-linux/3.4.3/include/stddef.h:45:2: invalid preprocessing directive #define
/opt/emlix/netdcu5/lib/gcc/arm-linux/3.4.3/include/stddef.h:47:2: invalid preprocessing directive #define
/opt/emlix/netdcu5/lib/gcc/arm-linux/3.4.3/include/stddef.h:48:2: invalid preprocessing directive #endif
.
.
.
arch/arm/malloc.c:320:2: invalid preprocessing directive #else
arch/arm/malloc.c:321:2: invalid preprocessing directive #include
arch/arm/malloc.c:322:2: invalid preprocessing directive #endif
arch/arm/malloc.c:324:2: invalid preprocessing directive #ifdef
arch/arm/malloc.c:325: error: parse error before string constant
arch/arm/malloc.c:326:2: invalid preprocessing directive #endif
arch/arm/malloc.c:333:2: invalid preprocessing directive #include
arch/arm/malloc.c:334:2: invalid preprocessing directive #endif
arch/arm/malloc.c:341:2: invalid preprocessing directive #include
.
.
.
arch/arm/malloc.c:5765:1: unterminated #ifndef
arch/arm/malloc.c:5753:1: unterminated #ifndef
arch/arm/malloc.c:5743:1: unterminated #ifndef
.
.
.
arch/arm/malloc.c:325: confused by earlier errors, bailing out
make[3]: *** [.obj/release-shared-emb-arm/malloc.o] Fehler 1
make[3]: Leaving directory `/home/test/Desktop/GraphikFrameworks/Qtopia/qtopia-core-opensource-src-4.1.1/src/corelib'
make[2]: *** [release] Fehler 2
make[2]: Leaving directory `/home/test/Desktop/GraphikFrameworks/Qtopia/qtopia-core-opensource-src-4.1.1/src/corelib'
make[1]: *** [sub-corelib-make_default-ordered] Fehler 2
make[1]: Leaving directory `/home/test/Desktop/GraphikFrameworks/Qtopia/qtopia-core-opensource-src-4.1.1/src'
make: *** [sub-src-make_default-ordered] Fehler 2


I hope someone of you can help me...

Greez

Bitz

Kruti
9th June 2006, 18:54
Hi,

You need to add the processor/bin path to your path.

Kruti

Bitz
12th June 2006, 13:11
Hello kruti,

the processor bin-Path is in my global path..

but i forgot a flag in the configure command --> -little-endian!!!

My configure command looks like:
./configure -prefix /usr/local/Trolltech/QtopiaCore-4.1.1-arm -embedded arm -little-endian -no-qvfb -depths 4,8 -release
it is all the same whether I write “-no-qvfb” or I omit it.

Now it compiles more but broke again.

i have a lot of warnungs like:


In file included from ../../include/QtCore/qglobal.h:1,
from .rcc/release-shared-emb-arm/qrc_deform.cpp:10:
../../include/QtCore/../../src/corelib/global/qglobal.h:1025: warning: `visibility' attribute does not apply to types
../../include/QtCore/../../src/corelib/global/qglobal.h:1511: warning: `visibility' attribute does not apply to types

and it brokes with this error:


arm-linux-g++ -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.1.1-arm/lib -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.1.1-arm/lib -o deform .obj/release-shared-emb-arm/main.o .obj/release-shared-emb-arm/pathdeform.o .obj/release-shared-emb-arm/moc_pathdeform.o .obj/release-shared-emb-arm/qrc_deform.o -L/home/test/Desktop/GraphikFrameworks/Qtopia/qtopia-core-opensource-src-4.1.1-arm/lib -L../shared -ldemo_shared -L/home/test/Desktop/GraphikFrameworks/Qtopia/qtopia-core-opensource-src-4.1.1-arm/lib -lQtGui -lQtNetwork -lQtCore -lz -lm -ldl -lpthread
/home/test/Desktop/GraphikFrameworks/Qtopia/qtopia-core-opensource-src-4.1.1-arm/lib/libQtGui.so: undefined reference to `QVFbScreen::QVFbScreen(int)'
collect2: ld returned 1 exit status
make[2]: *** [deform] Fehler 1
make[2]: Leaving directory `/home/test/Desktop/GraphikFrameworks/Qtopia/qtopia-core-opensource-src-4.1.1-arm/demos/deform'
make[1]: *** [sub-deform-make_default-ordered] Fehler 2
make[1]: Leaving directory `/home/test/Desktop/GraphikFrameworks/Qtopia/qtopia-core-opensource-src-4.1.1-arm/demos'
make: *** [sub-demos-make_default-ordered] Fehler 2

I hope someone of you can help me.

Greez
Bitz