Qt 5.8 and Raspberry Pi
-
Hello all!
I just managed cross compilation using Mac OS X 10.12 (Sierra) and Qt 5.8 for ARM (Rasprerry Pi). However it would be too easy if i do not encounter any problems. I create a very simple app, configure enviroment to execute it remotely from qt creator however I still got error once i try to execute:
Cannot load library /usr/local/qt5pi/plugins/platforms/libqeglfs.so: (This platform does not support dynamic libraries.)
QLibraryPrivate::loadPlugin failed on "/usr/local/qt5pi/plugins/platforms/libqeglfs.so" : "Cannot load library /usr/local/qt5pi/plugins/platforms/libqeglfs.so: (This platform does not support dynamic libraries.)"
This application failed to start because it could not find or load the Qt platform plugin "eglfs"
in "".Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc.
Reinstalling the application may fix this problem.
Aborted
looks like plugin is properly loaded:QT_DEBUG_PLUGINS=1 ./testrpi
QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5pi/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqeglfs.so"
Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqeglfs.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"eglfs"
]
},
"className": "QEglFSIntegrationPlugin",
"debug": false,
"version": 329728
}
but i think this line explains everything:QLibraryPrivate::loadPlugin failed on "/usr/local/qt5pi/plugins/platforms/libqeglfs.so" : "Cannot load library /usr/local/qt5pi/plugins/platforms/libqeglfs.so: (This platform does not support dynamic libraries.)"
and now my question is - what does it mean "This platform does not support dynamic libraries". How can i make my app working?ldd shows that all libs exist, strace never shows open with negative resutlt. Im stuck, so any help appriciated!
regards
-
/usr/local/qt5pi/plugins/platforms/libqeglfs.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=a21fa77208c7ccc1ac74c28e717a88458f012568, stripped
i got
pi@raspberrypi:~ $ cat /etc/*-release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
pi@raspberrypi:~ $ cat /proc/version
Linux version 4.4.27+ (root@vagrant-ubuntu-trusty-32) (gcc version 4.7.1 20120402 (prerelease) (crosstool-NG 1.15.2) ) #2 Wed Oct 26 18:58:15 UTC 2016 -
if a shared depency is missing, the libqeglfs.so is not loaded.
check all dependencies withldd /usr/local/qt5pi/plugins/platforms/libqeglfs.so
post the output -
Ok problem was in build of qtcorelib, in file qtbase/src/corelib/plugin/qtlibrary_unix.cpp in which flag:
QT_NO_DYNAMIC_LIBRARY
was defined and caused all problems. Solution was to do" undef QT_NO_DYNAMIC_LIBRARY just after this define and rebuild qtcore library.regards!
-
Sorry to resurrect an old topic, but how did you manage to configure Qt on os x? I'm using Jared Wolff's toolchain but get stuck at ./configure and can't build a RPi-friendly qmake.