Get Qt example running on SAM9N12
-
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
-
On board the board: -sh: ./example: not found
http://www.bilder-upload.eu/show.php?file=c3cb1b-1430404583.jpg -
What does
file example
return ? -
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
-
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
-
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 -
-
What distribution is running on your board ?
-
Did you install Qt 4 directly through Buildroot ?
-
Did you also cross-compile Qt using the libraries from Buildroot ?
-
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 ?
-
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