Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt Creator + Ubuntu 20.04



  • I formated my PC and installed the Ubuntu 20.04 Desktop.

    After that I installed Qt 5.15 with Qt Creator IDE and the libgl-dev.
    When I tried to run a simple C++ Address Book Qt example, I got this error message below:

    qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
    
    16:24:29: The program has unexpectedly finished.
    

    How can I fix it?

    • Qt Creator IDE 4.12.3
    • Qt 5.15 (gcc)


  • @fem_dev

    Here is how to install the libxcb-xinerama:

    sudo apt-get install libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev
    

    After that: it works!!!

    Thank you @mrjj and @JonB


  • Lifetime Qt Champion

    Hi
    Do @JonB suggestion first please :)

    Try
    sudo apt purge libxcb
    sudo apt install libxcb



  • @fem_dev
    In shell:

    export QT_DEBUG_PLUGINS=1
    

    Run your program, look through output for what it says it didn't find.



  • @mrjj

    When I trie dto purge and install...I got the same message:
    E: Unable to locate package libxcb



  • @JonB said in Qt Creator + Ubuntu 20.04:

    export QT_DEBUG_PLUGINS=1

    I paste this line in my Ubuntu Terminal...but I got the same error message...


  • Lifetime Qt Champion

    Hi
    and you did sudo apt-get update etc ?

    But try the QT_DEBUG_PLUGINS=1 and see if something is missing.


  • Lifetime Qt Champion

    @fem_dev said in Qt Creator + Ubuntu 20.04:

    @JonB said in Qt Creator + Ubuntu 20.04:

    export QT_DEBUG_PLUGINS=1

    I paste this line in my Ubuntu Terminal...but I got the same error message...

    well you have to start Creator from that shell too and then it should list tons of infor about stuff it loads or cant load.



  • @mrjj
    I did:

    sudo apt-get update (done!)
    sudo apt install libxcb

    And I got:

    E: Unable to locate package libxcb
    

    I opened the Ubuntu Terminal and wrote:

    export QT_DEBUG_PLUGINS=1
    

    So I tried to run the Address Book Qt Example: Same error...

    I Tried to open the QtCreator from the same Terminal...but I got the same error...



  • @fem_dev
    Where did you try to run the program from after typing into the shell?



  • @JonB Using QtCreator IDE...in the "run" green button...as always...



  • @fem_dev
    In which case, doing something in a shell won't help...

    Can you please go into terminal/shell, type export QT_DEBUG_PLUGINS=1, and then run your program from there? As a developer you ought know about setting environment variables.



  • @JonB Yes, I can try to do it.

    But, I always used the Qt Creator green "run" button.

    Is it possible yet on Ubuntu 20.04?
    Or I will need to run and debug my Qt applications using Ubuntu Terminal now?


  • Lifetime Qt Champion

    Or I will need to run and debug my Qt applications using Ubuntu Terminal now?

    no no, we just try to find out why it gives that error. i also had in Ubuntu Mint after an upgrade.



  • @fem_dev said in Qt Creator + Ubuntu 20.04:

    But, I always used the Qt Creator green "run" button.

    Then read the manual about how to set an environment variable for your running your program from within Creator.

    Or I will need to run and debug my Qt applications using Ubuntu Terminal now?

    No, I'm just trying to get you to do something to get some information this time, but it's proving tricky! ;-)



  • @mrjj @JonB

    In the Ubuntu Terminal....I set the environment variable and run the compiled Qt example using:

    ./addressbook
    

    I got this Terminal result:

    QFactoryLoader::QFactoryLoader() checking directory path "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms" ...
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqeglfs.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqeglfs.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "eglfs"
            ]
        },
        "archreq": 0,
        "className": "QEglFSIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("eglfs")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqlinuxfb.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqlinuxfb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "linuxfb"
            ]
        },
        "archreq": 0,
        "className": "QLinuxFbIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("linuxfb")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqminimal.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqminimal.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "minimal"
            ]
        },
        "archreq": 0,
        "className": "QMinimalIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("minimal")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqminimalegl.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqminimalegl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "minimalegl"
            ]
        },
        "archreq": 0,
        "className": "QMinimalEglIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("minimalegl")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqoffscreen.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqoffscreen.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "offscreen"
            ]
        },
        "archreq": 0,
        "className": "QOffscreenIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("offscreen")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqvnc.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqvnc.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "vnc"
            ]
        },
        "archreq": 0,
        "className": "QVncIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("vnc")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqwayland-egl.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqwayland-egl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland-egl"
            ]
        },
        "archreq": 0,
        "className": "QWaylandEglPlatformIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("wayland-egl")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqwayland-generic.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqwayland-generic.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland"
            ]
        },
        "archreq": 0,
        "className": "QWaylandIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("wayland")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqwayland-xcomposite-egl.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqwayland-xcomposite-egl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland-xcomposite-egl"
            ]
        },
        "archreq": 0,
        "className": "QWaylandXCompositeEglPlatformIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("wayland-xcomposite-egl")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqwayland-xcomposite-glx.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqwayland-xcomposite-glx.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland-xcomposite-glx"
            ]
        },
        "archreq": 0,
        "className": "QWaylandXCompositeGlxPlatformIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("wayland-xcomposite-glx")
    QFactoryLoader::QFactoryLoader() looking at "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so"
    Found metadata in lib /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "xcb"
            ]
        },
        "archreq": 0,
        "className": "QXcbIntegrationPlugin",
        "debug": false,
        "version": 331520
    }
    
    
    Got keys from plugin meta data ("xcb")
    QFactoryLoader::QFactoryLoader() checking directory path "/home/nyck/Qt/Examples/Qt-5.15.0/widgets/itemviews/build-addressbook-Desktop_Qt_5_15_0_GCC_64bit-Debug/platforms" ...
    Cannot load library /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)
    QLibraryPrivate::loadPlugin failed on "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so" : "Cannot load library /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)"
    qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
    
    Aborted (core dumped)
    
    nyck@gs65:~/Qt/Examples/Qt-5.15.0/widgets/itemviews/build-addressbook-Desktop_Qt_5_15_0_GCC_64bit-Debug$ 
    

    Any ideas?


  • Lifetime Qt Champion

    Hi
    Good work.

    Got keys from plugin meta data ("xcb")
    QFactoryLoader::QFactoryLoader() checking directory path "/home/nyck/Qt/Examples/Qt-5.15.0/widgets/itemviews/build-addressbook-Desktop_Qt_5_15_0_GCC_64bit-Debug/platforms" ...
    Cannot load library /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)
    QLibraryPrivate::loadPlugin failed on "/home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so" : "Cannot load library /home/nyck/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)"
    

    aha !
    libxcb-xinerama

    try
    apt-get install libxcb-xinerama



  • @mrjj

    sudo apt-get install libxcb-xinerama

    E: Unable to locate package libxcb-xinerama


  • Lifetime Qt Champion

    @fem_dev

    and you did do update ?

    sudo apt-get update



  • @fem_dev

    Here is how to install the libxcb-xinerama:

    sudo apt-get install libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev
    

    After that: it works!!!

    Thank you @mrjj and @JonB


  • Lifetime Qt Champion

    @fem_dev
    Super!
    Im sure it will come often soon when people start to upgrade.


Log in to reply