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


  • Moderators

    @sieciech What does

    file /usr/local/qt5pi/plugins/platforms/libqeglfs.so
    

    say?
    What operating system do you run on your PI?



  • /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 with ldd /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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.