This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Building Qt5.5 using Bitbake



Hello,

I am attempting to build Qt5.5 using the following guide http://processors.wiki.ti.com/index.php/Processor_SDK_Building_The_SDK. As I wish to use the 1.03 SDK configuration I have swapped the meta-qt line in the 1.03 config for the line in the 2.00 config. This builds fine however when I take the .ipk files and install them on my system I get the following error when I try to run any Qt application

This application failed to start because it could not find or load the Qt platform plugin "xcb".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen.

Reinstalling the application may fix this problem.

Am I missing a step when updating Qt on my system? I notice when I compile qt5.4 I get an extra qtbase-conf file that I do not get when building 5.5 could this be the issue?

Thanks

  • Hi,

    Could anyone help me with this?

    Thanks
  • Hello Micheal,

    Have you tried to export QT_QPA_PLATFORM=eglfs or run the application with -platform eglfs argument.

    Best regards,
    Kemal

  • Hi Kemal,

    I added that export and it worked fine. However once I changed the PC cross compiler to use Qt5.5 I ran into a new issue, when I attempt to run any Qt app now I get the following output

    error while loading shared libraries: libGLESv2.so.2: cannot open shared object file: No such file or directory

    any idea what could cause this?

    Thanks

    Micheal

  • Probably the newer Qt expects the newer open GL driver. As a work-around you can force it to use the older version by creating a symlink.

    ln -s /usr/lib/libGLESv2.so.1.10.2359475 /usr/lib/libGLESv2.so.2

  • Hello,

    I have very similar issue.
    I also get the same error even when using -platform eglfs.
    After cross compile I copied the installed folder to target. The libGLES*.so is in /plugins/platform root folder.
    Is it supposed to find it there or should I add that folder to LD_LIBRARY_PATH ?
    I also tried to copy all that folder contents into /lib in target but it still complains:

    root@dm814x:/examples/widgets/painting/basicdrawing# ./basicdrawing -platform eglfs
    QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
    QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
    This application failed to start because it could not find or load the Qt platform plugin "eglfs".

    Any ideas ?

    Regards,
    Ran
  • Hello Ran,

    In my system the libGLES*.so files are located in /usr/lib/. Have you tried to copy them in this location?
    Setting a LD_LIBRARY_PATH should help, you can try this.
    Is there present usr/lib/qt5/plugins/platforms/libqeglfs.so in your system?
    If the libqeglfs.so is present but the application can't find it, you can try to ldd or objdump -p libqeglfs.so | grep NEEDED and look for unmet dependencies.

    Best regards,
    Kemal

  • Hi,

    Thank you Kemal,


    Seems that the qt install path in configure -prefix
    is responsible for this.

    if prefix is -prefix /path/to/qt

    then all libraries everything must be inside

    $/path/to/qt

    On fixing it the issue been resolved...

    I also had to start sgx with “/opt/gfxsdkdemos/38xx-demo”

    Does it all make sense ?


    Thanks,
    Ran

  • Yes, probably the SDK's prefix was set to /usr instead of /opt which is in your case.