Hallo zusammen
Ich versuche aktuell auf Ubuntu ein Programm für ein Embeddedlinux
target zu erstellen. Das Target is ein Evalboard von NXP mit einem i.MX6
und LCD.
Dies versuche ich aktuell mit QT
Dabei gehe ich grundsätzlich nach diesem Tutorial vor:
http://wiki.qt.io/RaspberryPi_Beginners_Guide
Ich verwende allerdings folgende Toolchain:
gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf
Nun stecke ich aber fest.
Compiling qtbase
Hier gibt es ein Problem.
Ich rufe das ganze wie folgt auf:
1 | ./configure -device linux-imx6-g++ -device-option CROSS_COMPILE=/opt/toolchain/bin/arm-linux-gnueabihf- -sysroot ~/Schreibtisch/LinuxDevelopment/rootfsOverlay -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt5imx -hostprefix /usr/local/qt5imx
|
Danach hats einiges gemacht und endet dann mit:
1 | ERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.
|
Ein blick in den Log sagt:
1 | > /opt/toolchain/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/home/holger/Schreibtisch/LinuxDevelopment/rootfsOverlay -O2 -Wall -W -fPIC -I. -I/opt/QTLIB/qt5/qtbase/mkspecs/devices/linux-imx6-g++ -o verifyspec.o verifyspec.cpp
|
2 | > /opt/toolchain/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/home/holger/Schreibtisch/LinuxDevelopment/rootfsOverlay -Wl,-O1 -fuse-ld=gold -o verifyspec verifyspec.o
|
3 | > /opt/toolchain/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open crt1.o: Datei oder Verzeichnis nicht gefunden
|
4 | > /opt/toolchain/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open crti.o: Datei oder Verzeichnis nicht gefunden
|
5 | > /opt/toolchain/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open crtn.o: Datei oder Verzeichnis nicht gefunden
|
6 | > /opt/toolchain/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot find -lm
|
7 | > /opt/toolchain/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot find -lc
|
8 | > collect2: error: ld returned 1 exit status
|
9 | > Makefile:64: recipe for target 'verifyspec' failed
|
10 | > make: *** [verifyspec] Error 1
|
Es findet also die Datei crt1.o nicht. Nebst anderen.
Nach google, scheint es so als ob mir die glibc fehlen würde.
Nun, dachte ich also glibc runterladen und mit dem arm compiler
compilieren. Dann gabs aber auch errors.
1 | <stdin>: In function 'dummy':
|
2 | <stdin>:10:36: error: 'REG_RBP' undeclared (first use in this function)
|
3 | <stdin>:9:26: note: in expansion of macro 'ucontext'
|
4 | <stdin>:10:20: note: in expansion of macro 'mcontext'
|
5 | <stdin>:11:61: note: in expansion of macro 'mreg'
|
6 | <stdin>:10:36: note: each undeclared identifier is reported only once for each function it appears in
|
7 | <stdin>:9:26: note: in expansion of macro 'ucontext'
|
8 | <stdin>:10:20: note: in expansion of macro 'mcontext'
|
9 | <stdin>:11:61: note: in expansion of macro 'mreg'
|
10 | <stdin>:10:36: error: 'REG_RSP' undeclared (first use in this function)
|
Nun bin ich am Ende mit meinem Wissen und mit Google.
Ich hoffe jemand von euch kann mir weiterhelfen.
Ich möchte einfach nur QT Apps unter ubuntu für mein i.MX6 Zielsystem
schreiben. Und dafür sitze ich nun schon den ganzen Samstag vor dem PC
und hab auch gestern Abend schon begonnen. Bisher ohne Erfolg.
Danke