strawberrymusicplayer / strawberry

:strawberry: Strawberry Music Player
https://www.strawberrymusicplayer.org/
GNU General Public License v3.0
2.69k stars 185 forks source link

Could not load the Qt platform plugin "xcb" in "" even though it was found #1000

Closed justanotherbody closed 2 years ago

justanotherbody commented 2 years ago

Describe the bug Compile and install strawberry on an ubuntu derivative (Pop! OS)

Cannot start app - I get a QT error. Unfortunately I don't see anything in the QT debug that tells me something is wrong. I know basically nothing about QT but googling this issue yields results like this where there is a clear "cannot load" or "not found" diagnostic message.

Build Process Check out repo (commit 21f1fe52c00d9ebfd5734d475d31b33c912344b5)

mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME/usr .. && make -j 14 && make install

Following the instructions [on the "Compile Ubuntu" wiki age. I did also install libxkbcommon-dev as my initial cmake calls succeeded but included the following:

-- Could NOT find XKB (missing: XKB_LIBRARY XKB_INCLUDE_DIR) (Required is at least version "0.5.0")

System Information:

What it looks like when I run strawberry

$ export QT_DEBUG_PLUGINS=1
$ strawberry
18:18:21.841 INFO  main:168                         Strawberry 1.0.6-2-g21f1fe52 Qt "6.2.4"
18:18:21.841 INFO  main:169                         "Pop!_OS 22.04 LTS 22.04 - (linux 5.17.15-76051715-generic) [x86_64]"
18:18:21.841 DEBUG unknown                          QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms" ... 
18:18:21.841 DEBUG unknown                          QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqeglfs.so" 
18:18:21.841 WARN  unknown                          Found metadata in lib /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqeglfs.so, metadata= 
18:18:21.841 WARN  unknown                          { 
18:18:21.841 WARN  unknown                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", 
18:18:21.841 WARN  unknown                              "MetaData": { 
18:18:21.841 WARN  unknown                                  "Keys": [ 
18:18:21.841 WARN  unknown                                      "eglfs" 
18:18:21.841 WARN  unknown                                  ] 
18:18:21.841 WARN  unknown                              }, 
18:18:21.841 WARN  unknown                              "archreq": 0, 
18:18:21.841 WARN  unknown                              "className": "QEglFSIntegrationPlugin", 
18:18:21.842 WARN  unknown                              "debug": false, 
18:18:21.842 WARN  unknown                              "version": 393728 
18:18:21.842 WARN  unknown                          } 
18:18:21.842 WARN  unknown                           
18:18:21.842 WARN  unknown                           
18:18:21.842 DEBUG unknown                          Got keys from plugin meta data QList("eglfs") 
18:18:21.842 DEBUG unknown                          QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqlinuxfb.so" 
18:18:21.842 WARN  unknown                          Found metadata in lib /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqlinuxfb.so, metadata= 
18:18:21.842 WARN  unknown                          { 
18:18:21.842 WARN  unknown                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", 
18:18:21.842 WARN  unknown                              "MetaData": { 
18:18:21.842 WARN  unknown                                  "Keys": [ 
18:18:21.842 WARN  unknown                                      "linuxfb" 
18:18:21.842 WARN  unknown                                  ] 
18:18:21.842 WARN  unknown                              }, 
18:18:21.842 WARN  unknown                              "archreq": 0, 
18:18:21.842 WARN  unknown                              "className": "QLinuxFbIntegrationPlugin", 
18:18:21.842 WARN  unknown                              "debug": false, 
18:18:21.842 WARN  unknown                              "version": 393728 
18:18:21.842 WARN  unknown                          } 
18:18:21.842 WARN  unknown                           
18:18:21.842 WARN  unknown                           
18:18:21.842 DEBUG unknown                          Got keys from plugin meta data QList("linuxfb") 
18:18:21.842 DEBUG unknown                          QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqminimal.so" 
18:18:21.842 WARN  unknown                          Found metadata in lib /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqminimal.so, metadata= 
18:18:21.842 WARN  unknown                          { 
18:18:21.842 WARN  unknown                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", 
18:18:21.842 WARN  unknown                              "MetaData": { 
18:18:21.842 WARN  unknown                                  "Keys": [ 
18:18:21.842 WARN  unknown                                      "minimal" 
18:18:21.842 WARN  unknown                                  ] 
18:18:21.842 WARN  unknown                              }, 
18:18:21.842 WARN  unknown                              "archreq": 0, 
18:18:21.842 WARN  unknown                              "className": "QMinimalIntegrationPlugin", 
18:18:21.842 WARN  unknown                              "debug": false, 
18:18:21.842 WARN  unknown                              "version": 393728 
18:18:21.842 WARN  unknown                          } 
18:18:21.842 WARN  unknown                           
18:18:21.842 WARN  unknown                           
18:18:21.842 DEBUG unknown                          Got keys from plugin meta data QList("minimal") 
18:18:21.842 DEBUG unknown                          QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqminimalegl.so" 
18:18:21.842 WARN  unknown                          Found metadata in lib /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqminimalegl.so, metadata= 
18:18:21.842 WARN  unknown                          { 
18:18:21.842 WARN  unknown                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", 
18:18:21.842 WARN  unknown                              "MetaData": { 
18:18:21.842 WARN  unknown                                  "Keys": [ 
18:18:21.842 WARN  unknown                                      "minimalegl" 
18:18:21.842 WARN  unknown                                  ] 
18:18:21.842 WARN  unknown                              }, 
18:18:21.842 WARN  unknown                              "archreq": 0, 
18:18:21.842 WARN  unknown                              "className": "QMinimalEglIntegrationPlugin", 
18:18:21.842 WARN  unknown                              "debug": false, 
18:18:21.842 WARN  unknown                              "version": 393728 
18:18:21.842 WARN  unknown                          } 
18:18:21.842 WARN  unknown                           
18:18:21.842 WARN  unknown                           
18:18:21.842 DEBUG unknown                          Got keys from plugin meta data QList("minimalegl") 
18:18:21.842 DEBUG unknown                          QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqoffscreen.so" 
18:18:21.842 WARN  unknown                          Found metadata in lib /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqoffscreen.so, metadata= 
18:18:21.842 WARN  unknown                          { 
18:18:21.842 WARN  unknown                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", 
18:18:21.842 WARN  unknown                              "MetaData": { 
18:18:21.842 WARN  unknown                                  "Keys": [ 
18:18:21.842 WARN  unknown                                      "offscreen" 
18:18:21.842 WARN  unknown                                  ] 
18:18:21.842 WARN  unknown                              }, 
18:18:21.842 WARN  unknown                              "archreq": 0, 
18:18:21.842 WARN  unknown                              "className": "QOffscreenIntegrationPlugin", 
18:18:21.842 WARN  unknown                              "debug": false, 
18:18:21.842 WARN  unknown                              "version": 393728 
18:18:21.842 WARN  unknown                          } 
18:18:21.842 WARN  unknown                           
18:18:21.842 WARN  unknown                           
18:18:21.842 DEBUG unknown                          Got keys from plugin meta data QList("offscreen") 
18:18:21.842 DEBUG unknown                          QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqvkkhrdisplay.so" 
18:18:21.842 WARN  unknown                          Found metadata in lib /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqvkkhrdisplay.so, metadata= 
18:18:21.842 WARN  unknown                          { 
18:18:21.842 WARN  unknown                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", 
18:18:21.842 WARN  unknown                              "MetaData": { 
18:18:21.842 WARN  unknown                                  "Keys": [ 
18:18:21.842 WARN  unknown                                      "vkkhrdisplay" 
18:18:21.842 WARN  unknown                                  ] 
18:18:21.843 WARN  unknown                              }, 
18:18:21.843 WARN  unknown                              "archreq": 0, 
18:18:21.843 WARN  unknown                              "className": "QVkKhrDisplayIntegrationPlugin", 
18:18:21.843 WARN  unknown                              "debug": false, 
18:18:21.843 WARN  unknown                              "version": 393728 
18:18:21.843 WARN  unknown                          } 
18:18:21.843 WARN  unknown                           
18:18:21.843 WARN  unknown                           
18:18:21.843 DEBUG unknown                          Got keys from plugin meta data QList("vkkhrdisplay") 
18:18:21.843 DEBUG unknown                          QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqvnc.so" 
18:18:21.843 WARN  unknown                          Found metadata in lib /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqvnc.so, metadata= 
18:18:21.843 WARN  unknown                          { 
18:18:21.843 WARN  unknown                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", 
18:18:21.843 WARN  unknown                              "MetaData": { 
18:18:21.843 WARN  unknown                                  "Keys": [ 
18:18:21.843 WARN  unknown                                      "vnc" 
18:18:21.843 WARN  unknown                                  ] 
18:18:21.843 WARN  unknown                              }, 
18:18:21.843 WARN  unknown                              "archreq": 0, 
18:18:21.843 WARN  unknown                              "className": "QVncIntegrationPlugin", 
18:18:21.843 WARN  unknown                              "debug": false, 
18:18:21.843 WARN  unknown                              "version": 393728 
18:18:21.843 WARN  unknown                          } 
18:18:21.843 WARN  unknown                           
18:18:21.843 WARN  unknown                           
18:18:21.843 DEBUG unknown                          Got keys from plugin meta data QList("vnc") 
18:18:21.843 DEBUG unknown                          QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqxcb.so" 
18:18:21.843 WARN  unknown                          Found metadata in lib /usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqxcb.so, metadata= 
18:18:21.843 WARN  unknown                          { 
18:18:21.843 WARN  unknown                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", 
18:18:21.843 WARN  unknown                              "MetaData": { 
18:18:21.843 WARN  unknown                                  "Keys": [ 
18:18:21.843 WARN  unknown                                      "xcb" 
18:18:21.843 WARN  unknown                                  ] 
18:18:21.843 WARN  unknown                              }, 
18:18:21.843 WARN  unknown                              "archreq": 0, 
18:18:21.843 WARN  unknown                              "className": "QXcbIntegrationPlugin", 
18:18:21.843 WARN  unknown                              "debug": false, 
18:18:21.843 WARN  unknown                              "version": 393728 
18:18:21.843 WARN  unknown                          } 
18:18:21.843 WARN  unknown                           
18:18:21.843 WARN  unknown                           
18:18:21.843 DEBUG unknown                          Got keys from plugin meta data QList("xcb") 
18:18:21.843 DEBUG unknown                          QFactoryLoader::QFactoryLoader() checking directory path "/home/miker/usr/bin/platforms" ... 
18:18:21.845 DEBUG unknown                          loaded library "/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/libqxcb.so" 
18:18:21.845 WARN  unknown                          could not connect to display :0 
18:18:21.845 DEBUG unknown                          Could not load the Qt platform plugin "xcb" in "" even though it was found. 
18:18:21.845 ERROR unknown                          This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. 
18:18:21.845 ERROR unknown                           
18:18:21.845 ERROR unknown                          Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vkkhrdisplay, vnc, xcb. 
18:18:21.845 ERROR unknown                           
Aborted (core dumped)

Full Build Log In addition my-build.log

jonaski commented 2 years ago

This is what's wrong: could not connect to display :0 Are you running on the terminal without a X11 session? Are you trying to start strawberry as root?

justanotherbody commented 2 years ago

I'm running it in a konsole terminal within the KDE Plasma session (which I assume is X11 but ... maybe it's something else?)

I'm starting it as my user (miker)

EDIT: I would have sworn I tried running it through krunner and it failed but now that I try again it succeeds. Maybe the previous attempt was before I installed libxkbcommon-dev

Doh. Thank you for your time