installed app cannot find or load plugin "xcb"



  • I have a third party application .. Scribus Version 1.4.3.svn desktop publisher (a Qt developed app) .. running on Ubuntu 14.04.

    When trying to install the latest version .. scribus-trunk 1.5 .. I see this error before the app launches ..

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

    I only see this error when running command ... scribus-trunk
    ...
    Now I have Qt 5.5.1 installed in /opt/qt55 ..
    Guessing that this might be a path problem (re: "could not find or load plugin") I've added these variables to ~/.profile in user directory ... (I'm not sure if these are correct .. please advise) ...

    export LD_LIBRARY_PATH="/opt/qt55/lib":${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH="/opt/qt55/lib/plugins/platform":${LD_LIBRARY_PATH}
    export QML_IMPORT_PATH="/opt/qt55/qml"
    export QML2_IMPORT_PATH="/opt/qt55/qml"
    export QT_QPA_PLATFORM_PLUGIN_PATH="/opt/qt55/plugins/platforms"

    Can anyone advise on how to ensure that Scribus (latest 1.5 ) installed app locates and loads the xcb plugin ... found here ...

    /opt/qt55/plugins/platforms/libqxcb

    The earlier installation of Scribus 1.4.3 continues to launch without error.
    I have no control over the Scribus code so I just need to ensure that the plugin is found and loaded by this installed app.


  • Lifetime Qt Champion

    Hi,

    Did you build scribus yourself ?



  • @SGaist

    No, I used the Scribus PPA repository to download latest build (on Ubuntu 14.04).

    http://askubuntu.com/questions/639070/install-scribus-1-5-on-ubuntu-14-10

    ...

    Reading further here .. http://linuxg.net/install-scribus-on-ubuntu-via-ppa/
    I tried ..

    removing scribus and scribus-trunk
    installing scribus-ng

    but still see this message ..
    This application failed to start because it could not find or load the Qt platform plugin "xcb".

    The latest version of scribus uses Qt 5

    The latest version available is Scribus 1.5.0, which has been recently released, coming with a huge list of changes. Among others, 1000 bug-fixes have been implemented, the software has been ported to Qt5, a revamped user interface has been created, support for storing bitmap images within its file format has been implemented and a new plugin that enables asset management for graphics files has been integrated.


  • Lifetime Qt Champion

    Unless I'm mistaken, if the package has been properly built, it should pull in the dependencies it needs thus Qt 5. If not you should rather install the Qt 5 from your distribution, it's likely the one that was used to build Scribus.



  • I have another clue I'm following ..

    When I set env var QT_DEBUG_PLUGINS=1
    and run scribus-ng
    I get

    QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
    This application failed to start because it could not find or load the Qt platform plugin "xcb".

    This looks odd .. since I do not have any directory path "/usr/bin/platforms"
    and in fact xcb plugin is in /opt/q55/plugins/platforms/libqxcb.so

    So it seems that an incorrect path to plugin is being used (perhaps from my ~/.profile settings .. I don't know yet).

    That debug option is useful.


  • Lifetime Qt Champion

    Again: since you are using a package built for Ubuntu, why not just install Qt 5 from their repositories ?



  • I edited env vars in ~./profile and finally got this debug output ...

    In /opt/qt55/plugins/platforms/libqxcb.so:
    Plugin uses incompatible Qt library (5.5.1) [release]
    "The plugin '/opt/qt55/plugins/platforms/libqxcb.so' uses incompatible Qt library. (5.5.1) [release]"
    not a plugin
    This application failed to start because it could not find or load the Qt platform plugin "xcb".

    ....

    Regarding installing Qt 5 from Scribus repositories .. that suggestion I don't understand since I already have previously installed Qt 5.5.1. But I'll now follow up what version they use for building Scribus and install two versions of Qt .. using qtchooser to switch.

    I believe it is Qt 5.2 from reading here ...

    http://wiki.scribus.net/canvas/Building_SVN_versions_with_CMake

    [Edit]
    In fact the above wiki says "Starting with rev. 19790 (4 February 2015), Qt 5.2 or later is required." So why do I need to change my installed Qt 5.5.1?


  • Lifetime Qt Champion

    I didn't say that you should install Qt 5 from the Scribus PPA, I asked you why you didn't use the Qt 5 that is made available by your distribution which is likely the Qt used to build the Scribus package you are using.



  • @SGaist said:

    I asked you why you didn't use the Qt 5 that is made available by your distribution which is likely the Qt used to build the Scribus package you are using.

    For clarification .. I am not trying to build Scribus from source using the Qt version (5.5.1) which I have previously installed.

    I am simply trying to launch a pre-built executable of scribus-ng which was installed in /usr/bin/scribus.ng from PPA repo. An earlier version scribus (also an executable) works fine without errors.

    I get the errors (reported earlier) when I try to run scribus-ng from command line.

    [reason for editing .. corrected 5.4.1 to 5.5.1]


  • Moderators

    @eureka said:

    @SGaist said:

    I asked you why you didn't use the Qt 5 that is made available by your distribution which is likely the Qt used to build the Scribus package you are using.

    For clarification .. I am not trying to build Scribus from source using the Qt version (5.4.1) which I have previously installed.

    I am simply trying to launch a pre-built executable of scribus-ng which was installed in /usr/bin/scribus.ng from PPA repo.

    I believe @SGaist is suggesting that you install Qt 5 from the official Ubuntu repo. Perhaps Sribus is searching the official Ubuntu paths, but not your custom-installed path.

    An earlier version scribus (also an executable) works fine without errors.

    How did you get this earlier version? Was it from the same PPA repo?



  • Sorry for my misunderstanding .. here is my explanation ..

    • Ubuntu 14.04 repo stops at Qt 5.2.1 although all qt5 packages were installed according to this
      http://askubuntu.com/questions/508503/whats-the-development-package-for-qt5-in-14-04

    • I required PyQt + eric6 IDE but eric6 (installed with Ubuntu version of Qt 5.2.1) reported .. "Sorry, you must have Qt version 4.8.0 or better or 5.3.0 orĀ better".
      This is why Qt 5.5.1 was installed separately and manually into /opt/q55.

    • Earlier (working) version of scribus was installed from Ubuntu repo.

    • Most confusing (to me) since I thought that scribus-ng would have bundled its libraries/plugins to allow it to launch independently of any Qt installation.


  • Moderators

    @eureka said:

    • Earlier (working) version of scribus was installed from Ubuntu repo.

    • Most confusing (to me) since I thought that scribus-ng would have bundled its libraries/plugins to allow it to launch independently of any Qt installation.

    I see. So the old version and new version were packaged by different people. I think that means the 2 versions look for Qt in different places.

    Have you tried asking the PPA author how he/she configured Qt?



  • Completing the story. Eventually I got myself out of this hole by ...

    (a) adding a qt.conf file to same location as scribus-ng and scribus-trunk binaries (/usr/bin)

    [Paths]
    Prefix= ../../opt/qt55
    Translations=i18n
    Libraries=lib
    Plugins=plugins

    (b) adding Qt paths to ~/.profile

    export PATH="/opt/qt55/bin":$PATH
    export LD_LIBRARY_PATH="/opt/qt55/lib":${LD_LIBRARY_PATH}

    (c) reboot

    Thanks for advice.


Log in to reply
 

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