Get Qt example running on SAM9N12
-
wrote on 29 Apr 2015, 19:45 last edited by
HI, sorry to bother you again. I crosscompiled everything like explained:https://forum.qt.io/topic/52546/tuto-build-qt-to-cross-compile-for-arm/2
With the qtcreator 5.4.1 i choose at build&run the libaries for qt4.8.5 und arm-linux-gnueabihf-g++ . If i run it everything gets compiled, no errors occure.
Then i copied the files to a usb stick and try to run it from the usb-stick with: ./example -qws linuxfb but something with bash sh occures... I also tried chmod but nothing changed.
Two questions:
-
list itemThe rest of the board software is compiled with CROSS_COMPILE=arm-none-eabi- : Do i have to compile qt also with arm-none-eabi- or should gcc-linaro-arm-linux-gnulist itemeabihf- also work?
-
Does the qtcreator also needed to be crosscompiled?
-
-
What exact error are you getting ?
Unless you plan to run Qt Creator on your board, no
-
wrote on 30 Apr 2015, 14:30 last edited by
On board the board: -sh: ./example: not found
http://www.bilder-upload.eu/show.php?file=c3cb1b-1430404583.jpg -
What does
file example
return ? -
wrote on 1 May 2015, 09:36 last edited by
On the SAM9N12-Linux "file" is not installed but on ubuntu(compiling PC) it says:
benephil: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.1.1, BuildID[sha1]=00493b39dc19cde81d1b1ac906499c24698e97f4, not stripped -
Good, but the thing is, it doesn't seems that the file is copied over to the target
-
wrote on 2 May 2015, 09:05 last edited by
Sorry, I don't get it. What do you meen?
I copied the folder with the crosscompiled files from my PC to a usb-stick, mounted the usb-stick on the Evaluationboard and tried to run the example. -
Then that's normal, the libraries can't be found, you should write a little bash script that setups the environment for your application to run. Have a look at the Linux Deployment Guide for more details about this
-
wrote on 3 May 2015, 10:55 last edited by Bizer 5 Mar 2015, 10:58
Ok so i probably have some libary issues... With crosscompilation everything should be fine? Do i have to write a bash script for those libaries?:
"ldd example"
checking sub-depends for '/usr/lib/libQtGui.so.4'
checking sub-depends for '/usr/lib/libQtNetwork.so.4'
checking sub-depends for '/usr/lib/libQtCore.so.4'
checking sub-depends for '/lib/libpthread.so.0'
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f60000)
libdl.so.0 => /lib/libdl.so.0 (0xb6f54000)
libc.so.0 => /lib/libc.so.0 (0xb6efb000)
checking sub-depends for '/usr/lib/libstdc++.so.6'
checking sub-depends for 'not found'
checking sub-depends for '/lib/libgcc_s.so.1'
checking sub-depends for 'not found'
checking sub-depends for '/usr/lib/libts-1.0.so.0'
checking sub-depends for '/usr/lib/libgthread-2.0.so.0'
checking sub-depends for '/usr/lib/libglib-2.0.so.0'
checking sub-depends for '/usr/lib/libintl.so.8'
checking sub-depends for '/lib/libm.so.0'
libc.so.0 => /lib/libc.so.0 (0xb6ed4000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f2d000)
checking sub-depends for '/lib/libc.so.0'
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f4e000)
checking sub-depends for '/lib/libdl.so.0'
libc.so.0 => /lib/libc.so.0 (0xb6ee9000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f42000)
checking sub-depends for '/lib/librt.so.0'
libc.so.0 => /lib/libc.so.0 (0xb6eda000)
libdl.so.0 => /lib/libdl.so.0 (0xb6ece000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb6eb2000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f33000)
checking sub-depends for '/usr/lib/libiconv.so.2'
libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00000000)
libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x00000000)
libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00000000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00000000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00000000)
libm.so.6 => not found (0x00000000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.6 => not found (0x00000000)
libts-1.0.so.0 => /usr/lib/libts-1.0.so.0 (0x00000000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00000000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00000000)
libintl.so.8 => /usr/lib/libintl.so.8 (0x00000000)
libm.so.0 => /lib/libm.so.0 (0x00000000)
libc.so.0 => /lib/libc.so.0 (0x00000000)
libdl.so.0 => /lib/libdl.so.0 (0x00000000)
librt.so.0 => /lib/librt.so.0 (0x00000000)
/lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)
libiconv.so.2 => /usr/lib/libiconv.so.2 (0x00000000)
not a dynamic executable -
wrote on 3 May 2015, 17:46 last edited by
Hey, i observed one thing: If i run the project in qtcreator and check the "run in terminal" i get a: "Syntax error: word unexpected (expecting ")") "
Is there something i can/should do about this issue? Because if i run "sh example" i get the same error. -
What distribution is running on your board ?
-
wrote on 4 May 2015, 16:16 last edited by
At91linux with buildroot-rfs
-
Did you install Qt 4 directly through Buildroot ?
-
wrote on 5 May 2015, 13:05 last edited by
Yes, i did
-
wrote on 6 May 2015, 18:24 last edited by
no further ideas?
-
Did you also cross-compile Qt using the libraries from Buildroot ?
-
wrote on 7 May 2015, 12:21 last edited by
On the dev machine no, on the evaluationboard yes
-
Just to be sure I understand you correctly: you cross-compiled Qt on your desktop using a different set of libraries rather that than the one from your evaluation board and you compiled natively on your device ?
-
wrote on 11 May 2015, 19:06 last edited by
Yes, but it should be the same version. Buildroot uses 4.8.6 and on the dev machine i also had 4.8.6
-
Same Qt version is one thing, but it looks like you don't have the same set of dependencies between both versions and maybe not the same set of options given to configure
14/29