Can't find libQt5Core lib
-
# export LD_LIBRARY_PATH=/ta512/glib:/ta512/qt5lib # /ta512/ta /ta512/ta: error while loading shared libraries: /home/imx6/Desktop/qt5120/sysroot/usr/lib/libz.so: cannot open shared object file: No such file or directory # ldd /ta512/ta /ta512/ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version `Qt_5' not found (required by /ta512/ta) /ta512/ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version `Qt_5_PRIVATE_API' not found (required by /ta512/qt5lib/libQt5Widgets.so.5) /ta512/ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version `Qt_5' not found (required by /ta512/qt5lib/libQt5Widgets.so.5) /ta512/ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version `Qt_5_PRIVATE_API' not found (required by /ta512/qt5lib/libQt5Gui.so.5) /ta512/ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version `Qt_5' not found (required by /ta512/qt5lib/libQt5Gui.so.5) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libicui18n.so.55) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libicui18n.so.55) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libicui18n.so.55) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libicuuc.so.55) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libicuuc.so.55) /ta512/ta: /ta512/glib/libstdc++.so.6: no version information available (required by /usr/lib/arm-linux-gnueabihf/libicuuc.so.55) /ta512/ta: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by /ta512/glib/libglib-2.0.so.0) linux-vdso.so.1 => (0x7ee3e000) libQt5Widgets.so.5 => /ta512/qt5lib/libQt5Widgets.so.5 (0x76a51000) libQt5Gui.so.5 => /ta512/qt5lib/libQt5Gui.so.5 (0x765b0000) libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0x7624b000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76227000) libstdc++.so.6 => /ta512/glib/libstdc++.so.6 (0x760be000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76045000) libgcc_s.so.1 => /ta512/glib/libgcc_s.so.1 (0x76016000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x75f2a000) /home/imx6/Desktop/qt5120/sysroot/usr/lib/libz.so => not found libz.so.1 => /ta512/glib/libz.so.1 (0x75efa000) libicui18n.so.55 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.55 (0x75d60000) libicuuc.so.55 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.55 (0x75c42000) libpcre16.so.3 => /usr/lib/arm-linux-gnueabihf/libpcre16.so.3 (0x75bec000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x75bd9000) libglib-2.0.so.0 => /ta512/glib/libglib-2.0.so.0 (0x75a43000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x75a2c000) /lib/ld-linux-armhf.so.3 (0x54ae3000) libicudata.so.55 => /usr/lib/arm-linux-gnueabihf/libicudata.so.55 (0x74165000)
-
@SGaist ok, I recompiled qtbase without glib, and now I return to the topic theme:
# ls /ta512 Makefile libQt5Widgets.so.5 moc_mainwindow.cpp ta libQt5Core.so.5 main.o moc_mainwindow.o ta.sh libQt5Gui.so.5 mainwindow.o moc_predefs.h ui_mainwindow.h
and run:
# export LD_LIBRARY_PATH=/ta512 # ./ta ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5' not found (required by ./ta) ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5_PRIVATE_API' not found (required by /ta512/libQt5Widgets.so.5) ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5' not found (required by /ta512/libQt5Widgets.so.5) ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5_PRIVATE_API' not found (required by /ta512/libQt5Gui.so.5) ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5' not found (required by /ta512/libQt5Gui.so.5) # ldd ta ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5' not found (required by ./ta) ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5_PRIVATE_API' not found (required by /ta512/libQt5Widgets.so.5) ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5' not found (required by /ta512/libQt5Widgets.so.5) ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5_PRIVATE_API' not found (required by /ta512/libQt5Gui.so.5) ./ta: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version 'Qt_5' not found (required by /ta512/libQt5Gui.so.5) linux-vdso.so.1 => (0x7ece4000) libQt5Widgets.so.5 => /ta512/libQt5Widgets.so.5 (0x769e1000) libQt5Gui.so.5 => /ta512/libQt5Gui.so.5 (0x76540000) libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0x761db000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x761b7000) libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x760a9000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76031000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76008000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x75f1c000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x75efa000) libicui18n.so.55 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.55 (0x75d61000) libicuuc.so.55 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.55 (0x75c43000) libpcre16.so.3 => /usr/lib/arm-linux-gnueabihf/libpcre16.so.3 (0x75bec000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x75bd9000) libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x75b01000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x75aeb000) /lib/ld-linux-armhf.so.3 (0x54b87000) libicudata.so.55 => /usr/lib/arm-linux-gnueabihf/libicudata.so.55 (0x74224000) libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x741c6000)
-
You are not deploying libQt5Core.so.5 along the other Qt libraries in your ta512 folder.
-
@SGaist ok, I built Qt 5.9.7 with options:
-verbose \ -nomake tests \ -nomake examples \ -no-use-gold-linker \ -no-opengl \ -no-dbus \ -no-glib \ -no-icu \ -rpath
and the target Qt application on the embedded device did found the Qt libs, but I've got another exception:
./qt_c: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by /ta/libQt5Core.so.5)
sure, version of glib on the target device is 2.23, but Qt was configured without GLIB support. Why Qt still require this library?
well, as latest results with same cross-compilations process (e.g. same tools, compiler, QtCreator settings, etc):
- cross-compiled app with Qt 5.12.0 can't find self Qt libraries
- cross-compiled app with Qt 5.9.7 can find self Qt libraries, but can't work without GLIB < v2.28 (even configured without glib support)
-
And why are you not deploying the Qt5Core library since you already deploy the others ?
-
@SGaist as I told before I did copy Qt libs with application to the target embedded device (as you can see the folder /ta512 already contains all needed Qt libs and executable application), also I did set value of LD_LIBRARY_PATH to /ta512 before application has been started.
-
That's clear, but from your last test, why only these three libs and not QtCore ?
-
The question is: since you are deploying 3 Qt libraries already, why not the Qt5Core ?
-
Yes it is.
-
@SGaist because the target application is looking for the libQt5Core.so.5, not for libQt5Core.so
howewer I'll try to do copy of all aliases: libQt5Core.so, libQt5Core.so.5 and libQt5Core.so.5.12.0
thanks for hint!
and happy New Year ;) -
If you want to be sure the loader finds the correct library where you put them, then yes, copy all the aliases up to the library itself.
-
@SGaist I did copy for each needed alias, but nothing changes:
# export LD_LIBRARY_PATH=/ta_20190102115904/qt5lib # ls $LD_LIBRARY_PATH libQt5Core.so libQt5Gui.so libQt5Widgets.so libQt5Core.so.5 libQt5Gui.so.5 libQt5Widgets.so.5 libQt5Core.so.5.12.0 libQt5Gui.so.5.12.0 libQt5Widgets.so.5.12.0 # cd /ta_20190102115904 # ./qt_c ./qt_c: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: version `Qt_5' not found (required by ./qt_c)
Ok, I did remove system version:
# mv /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.orig # mv /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.5 /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.5.orig # mv /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.5.1 /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.5.1.orig # ./qt_c ./qt_c: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
(there is no alias /usr/lib/arm-linux-gnueabihf/libQt5Core.so)
All binaries have a right arch, I think:# file qt5lib/libQt5Core.so qt5lib/libQt5Core.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, for GNU/Linux 4.11.0, not stripped # file qt5lib/libQt5Core.so.5 qt5lib/libQt5Core.so.5: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, for GNU/Linux 4.11.0, not stripped # file qt5lib/libQt5Core.so.5.12.0 qt5lib/libQt5Core.so.5.12.0: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, for GNU/Linux 4.11.0, not stripped # file qt_c qt_c: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, not stripped
cross compiled Qt application don't want to use cross-compiled Qt libraries.
I don't understand what's wrong :(I'll try to use a previous version of the toolchain