cross compiled qt for BBB
-
-
@jsulm said in cross compiled qt for BBB:
You get "Qxcb connection:could not connect to the display"?
yes
Do you start your app as a root
this means ,first i need to do
ssh debian@192.168.7.2
after this sudo suroot@beaglebone:
now I need to run the application right?
but what about that normal user?
I need to run it on my Desktop machine?
without ssh? -
@Asha said in cross compiled qt for BBB:
after this sudo su
NO! You should not start it as root.
Can you connect a keyboard to your device and start directly there without SSH.
-
@Asha said in cross compiled qt for BBB:
Ok, after millions of posts we finally reach the point where you stated how you're starting the application in the board...
It looks like you're NOT forwarding the X display. Please try connecting to the board this way:
ssh -X debian@192.168.7.2
and then proceed as you've been doing to start the Qt app
-
while connecting as you said above ,
getting the result
s
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
./animatedtiles: relocation error: ./animatedtiles: symbol _ZN18QRandomGenerator646globalEv, version Qt_5 not defined in file libQt5Core.so.5 with link time reference -
I have those libraries in usr lib directory
root@beaglebone:find / -name libGLESv2* -type f
/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
root@beaglebone: find / -name libEGL* -type f
/usr/lib/arm-linux-gnueabihf/libEGL_mesa.so.0.0.0
/usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0@jsulm said in cross compiled qt for BBB:
Looks like you have different Qt version on your device than the one you cross compiled.
how do I found,which version qt is running on my device?
-
this is the result:
debian@beaglebone:~/Qt5/examples/widgets/animation/animatedtiles$ ldd ./animatedtiles
linux-vdso.so.1 (0xbeffe000)
libQt5Widgets.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5 (0xb6b07000)
libQt5Gui.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 (0xb67dd000)
libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0xb6469000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6445000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb642f000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb641c000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6310000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6298000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb626f000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6181000)
libGLESv2.so.2 => /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 (0xb6163000)
/lib/ld-linux-armhf.so.3 (0xb6f44000)
libharfbuzz.so.0 => /usr/lib/arm-linux-gnueabihf/libharfbuzz.so.0 (0xb60e7000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb60c5000)
libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0xb6095000)
libicui18n.so.57 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.57 (0xb5ee8000)
libicuuc.so.57 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.57 (0xb5dbf000)
libpcre16.so.3 => /usr/lib/arm-linux-gnueabihf/libpcre16.so.3 (0xb5d67000)
libdouble-conversion.so.1 => /usr/lib/arm-linux-gnueabihf/libdouble-conversion.so.1 (0xb5d49000)
libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0xb5c6e000)
libGLdispatch.so.0 => /usr/lib/arm-linux-gnueabihf/libGLdispatch.so.0 (0xb5bf0000)
libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0xb5b77000)
libgraphite2.so.3 => /usr/lib/arm-linux-gnueabihf/libgraphite2.so.3 (0xb5b4c000)
libicudata.so.57 => /usr/lib/arm-linux-gnueabihf/libicudata.so.57 (0xb42bf000)
libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0xb4260000)In this libEGL library missing ,how do I solve this ?
-
@Asha Your current problem is not libEGL.
The problem is here: ./animatedtiles: relocation error: ./animatedtiles: symbol _ZN18QRandomGenerator646globalEv, version Qt_5 not defined in file libQt5Core.so.5 with link time referenceAre these Qt libs the libs you cross compiled and exact same version you're using on your host to cross compile your app?
libQt5Widgets.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5 (0xb6b07000) libQt5Gui.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 (0xb67dd000) libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0xb6469000)
-
my configure command is exactly as shown in below ,please go through this
./configure -platform linux-g++ release -device linux-beagleboard-g++ -sysroot /home/beagle/BBB/sysroot -prefix /home/debian/Qt5 -hostprefix ~/Qt5 -device option
CROSS_COMPILE = /home/beagle/BBB/gcc-linaro......gnuabihf- -nomake tests -nomake examples -no-opengl -opensource -confirm-license -reduce-exports -make libs -no-egl -no-eglfs -qt-zlib -qt-libpng -no-use-gold-linker-linuxfb -qt-libjpeg -no-opengl -no-cups -no-glib -no-iconv -nomake examples -nomake tools -nomake tests -no-pkg-config -skip qtdeclarative -skip qtlocation -skip qtpurchasing -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwebglplugin -skip qtandroisextras -skip qtgamepad -skip qtmacextras -skip qtwinextras -skip qtsensors -skip qtconnectivity -recheck-all -vany mistakes in this configuration then please let me know..(if any mistakes then what configuration I need to give ,for my X server, beagleboneboard,just i want to run a simple qt application in my board and display the output in my display screen)...
-
So you did not copy the libraries at the exact same place on your device ?
Your system installed Qt is picked before the one you copied.
So one solution is to call:
LD_LIBRARY_PATH=/path/to/your/cross-compiled_qt/lib ./YOUR_EXECUTABLE_NAME
. -
@Asha said in cross compiled qt for BBB:
means directly in my device only
Your app definitely uses wrong Qt libs.
You have to copy the Qt libs into same directory you specified in -prefix. In your case /home/debian/Qt5.
If this is the case then try following to start your app on device:cd DIR_WHERE_YOUR_APP_IS export LD_LIBRARY_PATH=/home/debian/Qt5 ./YOUR_APP
-
now at present I don't have my display,
but while giving this
@jsulm said in cross compiled qt for BBB:
cd DIR_WHERE_YOUR_APP_IS
export LD_LIBRARY_PATH=/home/debian/Qt5
./YOUR_APPI am getting the output in my laptop,it just blinking for a second..
If I connect my display, and then I execute as you told,then can I get the result in my display?
-
@Asha said in cross compiled qt for BBB:
If I connect my display, and then I execute as you told,then can I get the result in my display?
If nothing else is wrong then yes
-
@Asha said in cross compiled qt for BBB:
getting output in my laptop
Did you redirect the output as @Pablo-J-Rogina suggested before?
If so then do not redirect, just make sure you see graphical desktop on the display. -
@jsulm said in cross compiled qt for BBB:
Did you redirect the output as @Pablo-J-Rogina suggested before?
i am not understand this one,what your trying to ask?
i burned new image in my sdcard,and i put that sdcard into the BBB after that trying to execute this qt applications,
while trying with
ssh debian@192.168.7.2
getting Qxcb errorAnd trying with
ssh -X debian@192.168.7.2
getting this with displaying the output in laptop
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
QXcbConnection: XCB error: 1 (BadRequest), sequence: 405, resource id: 220, major code: 154 (Unknown), minor code: 1