Menu

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

MC
2018-03-30
2019-10-19
  • MC

    MC - 2018-03-30

    I'm on an up to date Arch linux system (4.15.13-1-ARCH) and the program doesn't want to start . yet! I have libxcb and xcb-utils installed.

    I've tried removing the "libqxcb.so" file from the "plugins/platforms" folder but it still says :

    $ ./memtray.sh
    This application failed to start because it could not find or load the Qt platform plugin "xcb"
    in "~/Systray-Memory-Display-1.4-64bit-Linux-Dynamic/./plugins".
    
    Reinstalling the application may fix this problem.
    ./memtray.sh: line 22:  7461 Aborted                 (core dumped) $dirname/$appname "$@"
    Systray Memory Display failed loading. You'll have to fix the problem yourself. I'm sorry.
    
     

    Last edit: MC 2019-10-19
  • Nikolai

    Nikolai - 2018-03-30

    It was supposed to be just download and run! I guess we can't have such nice things.
    However, the issue is obviously the platform plugin.

    Try this:
    First, put the libqxcb.so file back in the platforms folder. Then:

    1. In memtray.sh change the line
      "export QT_QPA_PLATFORM_PLUGIN_PATH=$dirname/plugins"
      into
      "export QT_QPA_PLATFORM_PLUGIN_PATH=$dirname/plugins/platforms"
      Save it, then run it.

    2. Try removing the line
      "export QT_QPA_PLATFORM_PLUGIN_PATH=$dirname/plugins"
      entirely from the script.
      Save it, then run it.

     
  • MC

    MC - 2018-03-31

    Nope, in both cases it keeps saying "This application failed to start because it could not find or load the Qt platform plugin "xcb""

     
  • MC

    MC - 2018-03-31

    also tried the path to the folder written out completely like /home//plugins/platforms" so it's not that the script can't find the plugin - it seems it can't load it.

    Hope you didn't run out of ideas.

     

    Last edit: MC 2019-10-19
  • Nikolai

    Nikolai - 2018-04-01

    Yeah, this is definitely an annoying issue.
    I think I might need to build the program on an Arch installation. The quickest solution is definitely to build the program yourself, but if you have no experience with such things, it might be too troublesome :)
    My brother is working on being able to statically build Qt programs, which will likely solve this problem, but that'll be at least a few weeks before that's going to carry a result.

     
  • Nikolai

    Nikolai - 2018-04-01

    I used "linuxdeployqt" to create the folders and files in the memtray directory, containing shared libraries and other files needed to run the program (the platform files etc.). Even after that, a couple more files were still required, and I believe the last stuff was solved by running "memtray-debug.sh" and "ldd memtray".
    If I get an Arch installation up and running I'm pretty sure that linuxdeployqt is all that's necessary, but I will need to do some testing, to know if it will run on other systems.

     
  • Nikolai

    Nikolai - 2018-04-07

    OK, I've installed Arch Linux, and I had the exact same issue, but found the solution.

    I've attached a file here, that you must put in the root folder of the program (alongside the memtray file). I made the mistake of not including this file in the release, since it didn't seem necessary, even though linuxdeployqt created it.

    "qt.conf" contains these few lines of text:
    [Paths]
    Prefix = ./
    Plugins = plugins
    Imports = qml
    Qml2Imports = qml

    Now, to execute the program you must run "memtray" instead of "memtray.sh".
    I have an Ubuntu installation, and that still requires running the memtray.sh script.

    Now, it should work for you too, but please write if it doesn't. Thank you for taking your time to report this problem!

    Kind regards,
    Nikolai

     

    Last edit: Nikolai 2018-04-07
  • MC

    MC - 2018-04-07

    It works! Thank you for taking the effort to install Arch. Super happy to have that number in my systray now.

     

    Last edit: MC 2019-10-19
  • Nikolai

    Nikolai - 2018-04-07

    No problem, I'd been wanting to try installing Arch anyway. Have fun! ;-)

     
  • MC

    MC - 2019-03-15

    It stopped working! System is still the same. Now says:

    memtray: error while loading shared libraries: libdouble-conversion.so.1: cannot open shared object file: No such file or directory

    I found the same error happened with another program: "it seems that you have updated your double-conversion library (from 1.x to 3.x) without rebuilding clickhouse package. zlib-ng issue is fixed in pkgrel=2."

    Could you rebuild so it works with the up-to-date double-conversion library?

     
    • Nikolai

      Nikolai - 2019-10-14

      I've rebuilt it now, and it can be downloaded from Files:
      https://sourceforge.net/projects/systray-memory-display/files/v1.4/
      Cross my fingers that it works for you, because linuxdeployqt complained that my system was too new, so I had to use an older version of linuxdeployqt.

      I think a reliable solution for keeping the program working is to have it added to package managers, but I'm currently not interested in figuring out how to do that.
      You could also rebuild the program yourself, it's a regular Qt application.

       
  • MC

    MC - 2019-10-19

    Works! Thanks a million.

     

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.