Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. How to solve "Could not load the Qt platform plugin "cocoa" in "" even though it was found."
Forum Updated to NodeBB v4.3 + New Features

How to solve "Could not load the Qt platform plugin "cocoa" in "" even though it was found."

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
26 Posts 7 Posters 14.2k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jsulmJ jsulm

    @volcano_56782 said in How to solve "Could not load the Qt platform plugin "cocoa" in "" even though it was found.":

    I'm not sure what all this means though

    Well, you need to search for cocoa there.
    What I see:
    Cannot load library /Users/Febin.J/Documents/Projects/Python Projects/v1.2 - Planner Builder/dist/Planner Builder.app/Contents/plugins/platforms/libqcocoa.dylib: (dlopen(/Users/Febin.J/Documents/Projects/Python Projects/v1.2 - Planner Builder/dist/Planner Builder.app/Contents/plugins/platforms/libqcocoa.dylib, 0x0085): Library not loaded: @rpath/QtDBus.framework/Versions/5/QtDBus

    You seem to use paths with blanks, you should avoid that.
    Does /Users/Febin.J/Documents/Projects/Python Projects/v1.2 - Planner Builder/dist/Planner Builder.app/Contents/plugins/platforms/libqcocoa.dylib exist?
    Also, it seems that cocoa plug-in requires DBus.

    V Offline
    V Offline
    volcano_56782
    wrote on last edited by
    #8

    @jsulm Also, I forgot to say that the app runs perfectly in alias mode, the issue only occurs when I try to compile the app for distribution

    1 Reply Last reply
    0
    • V volcano_56782

      @jsulm said in How to solve "Could not load the Qt platform plugin "cocoa" in "" even though it was found.":

      Does /Users/Febin.J/Documents/Projects/Python Projects/v1.2 - Planner Builder/dist/Planner Builder.app/Contents/plugins/platforms/libqcocoa.dylib exist?

      No, this does not exist. How can I get DBus?

      jsulmJ Online
      jsulmJ Online
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #9

      @volcano_56782 said in How to solve "Could not load the Qt platform plugin "cocoa" in "" even though it was found.":

      How can I get DBus?

      As far as I know DBus is not used on Mac, so don't know why cocoa plug-in wants it.
      Maybe somebody with more MacOS expertise can help.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      V 1 Reply Last reply
      0
      • jsulmJ jsulm

        @volcano_56782 said in How to solve "Could not load the Qt platform plugin "cocoa" in "" even though it was found.":

        How can I get DBus?

        As far as I know DBus is not used on Mac, so don't know why cocoa plug-in wants it.
        Maybe somebody with more MacOS expertise can help.

        V Offline
        V Offline
        volcano_56782
        wrote on last edited by
        #10

        @jsulm Hopefully, I have been stuck on this for days

        1 Reply Last reply
        0
        • hskoglundH Offline
          hskoglundH Offline
          hskoglund
          wrote on last edited by
          #11

          Hi, for Qt 5..15.2 in Terminal, if you do a
          otool -L libqcocoa.dylib it lists 5 dlls it needs, one of them is:
          @rpath/QtDBus.framework/Versions/5/QtDBus
          (and if you build a vanilla Hello World widget app in Qt. 5.15.2 QtDBus is used).

          Maybe when you compiled your app for distribution, perhaps that QtDbus dll didn't get copied? You can try copy it manually, start a Terminal and type:

          cp -r ~/Qt/5.15.2/clang_64/lib/QtDBus.framework "/Users/Febin.J/Documents/Projects/Python Projects/v1.2 - Planner Builder/dist/Planner Builder.app/Contents/Frameworks"
          

          Note: you'll need the quotes since you have spaces in your app path.

          1 Reply Last reply
          0
          • J Offline
            J Offline
            JimboNiss
            wrote on last edited by
            #12

            I've got this same problem, when using py2app to compose a python Qt application. I can run the application from the py2app dist folder, just fine. However, after I copy it to /Applications, I get the same error...

            Got keys from plugin meta data ("webgl")
            QFactoryLoader::QFactoryLoader() checking directory path "/Applications/englauncher.app/Contents/MacOS/platforms" ...
            Cannot load library /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib: (dlopen(/Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib, 133): Library not loaded: @rpath/QtDBus.framework/Versions/5/QtDBus
            Referenced from: /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib
            Reason: image not found)
            QLibraryPrivate::loadPlugin failed on "/Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib" : "Cannot load library /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib: (dlopen(/Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib, 133): Library not loaded: @rpath/QtDBus.framework/Versions/5/QtDBus\n Referenced from: /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib\n Reason: image not found)"
            qt.qpa.plugin: Could not load the Qt platform plugin "cocoa" 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: cocoa, minimal, offscreen, webgl.

            Anyone have any ideas?

            SGaistS 1 Reply Last reply
            0
            • J JimboNiss

              I've got this same problem, when using py2app to compose a python Qt application. I can run the application from the py2app dist folder, just fine. However, after I copy it to /Applications, I get the same error...

              Got keys from plugin meta data ("webgl")
              QFactoryLoader::QFactoryLoader() checking directory path "/Applications/englauncher.app/Contents/MacOS/platforms" ...
              Cannot load library /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib: (dlopen(/Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib, 133): Library not loaded: @rpath/QtDBus.framework/Versions/5/QtDBus
              Referenced from: /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib
              Reason: image not found)
              QLibraryPrivate::loadPlugin failed on "/Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib" : "Cannot load library /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib: (dlopen(/Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib, 133): Library not loaded: @rpath/QtDBus.framework/Versions/5/QtDBus\n Referenced from: /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib\n Reason: image not found)"
              qt.qpa.plugin: Could not load the Qt platform plugin "cocoa" 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: cocoa, minimal, offscreen, webgl.

              Anyone have any ideas?

              SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #13

              @JimboNiss hi and welcome to devnet,

              What exactly do you have in your py2app folder ?
              Do you have the QDbus framework in your app bundle ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              J 1 Reply Last reply
              0
              • SGaistS SGaist

                @JimboNiss hi and welcome to devnet,

                What exactly do you have in your py2app folder ?
                Do you have the QDbus framework in your app bundle ?

                J Offline
                J Offline
                JimboNiss
                wrote on last edited by
                #14

                @SGaist, not sure what you are asking, but I just updated py2app via pip3, as a test. Didn't help. Here is my setup.py for it:

                """
                This is a setup.py script generated by py2applet

                Usage:
                python setup.py py2app
                """

                from setuptools import setup

                APP = ['englauncher.py']
                DATA_FILES = [('', ['applescript'])]
                #DATA_FILES = []
                OPTIONS = {
                'iconfile': 'icon_SEO.icns',
                'packages': ['cffi']
                }

                setup(
                app=APP,
                data_files=DATA_FILES,
                options={'py2app': OPTIONS},
                setup_requires=['py2app'],
                )

                The QtDBus directory is in both /Applications/<app> and the py2app created ./disk/<app>...

                Jims-MacBook-Pro:englauncher3 $ sudo find /Applications -name "QtDBus"
                Password:
                /Applications/englauncher.app/Contents/Resources/lib/python3.9/PyQt5/bindings/QtDBus
                /Applications/englauncher.app/Contents/Resources/lib/python3.9/PyQt5/Qt5/lib/QtDBus.framework/Versions/5/QtDBus
                Jims-MacBook-Pro:englauncher3 $ sudo find ./dist -name "QtDBus"
                ./dist/englauncher.app/Contents/Resources/lib/python3.9/PyQt5/Qt5/lib/QtDBus.framework/Versions/5/QtDBus
                ./dist/englauncher.app/Contents/Resources/lib/python3.9/PyQt5/bindings/QtDBus

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #15

                  Can you check the rpath values of the executable ?

                  See here for more information about it.

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  J 1 Reply Last reply
                  0
                  • SGaistS SGaist

                    Can you check the rpath values of the executable ?

                    See here for more information about it.

                    J Offline
                    J Offline
                    JimboNiss
                    wrote on last edited by
                    #16

                    @SGaist said in How to solve "Could not load the Qt platform plugin "cocoa" in "" even though it was found.":

                    here

                    Ok, I was able to locate the rpath...

                    Jims-MacBook-Pro:englauncher3 $ otool -L ./dist/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib |grep -i qtdbus
                    @rpath/QtDBus.framework/Versions/5/QtDBus (compatibility version 5.15.0, current version 5.15.2)

                    Jims-MacBook-Pro:englauncher3 $ otool -L /Applications/englauncher.app/Contents/plugins/platforms/libqcocoa.dylib |grep -i qtdbus
                    @rpath/QtDBus.framework/Versions/5/QtDBus (compatibility version 5.15.0, current version 5.15.2)

                    https://stackoverflow.com/questions/12521802/print-rpath-of-an-executable-on-macos/12522096#125220
                    Jims-MacBook-Pro:englauncher3 $ otool -l dist/englauncher.app/Contents/MacOS/englauncher | grep RPATH -A2
                    cmd LC_RPATH
                    cmdsize 48
                    path @executable_path/../Frameworks (offset 12)
                    Jims-MacBook-Pro:englauncher3 $ otool -l dist/englauncher.app/Contents/MacOS/englauncher
                    Jims-MacBook-Pro:englauncher3 $ otool -l /Applications/englauncher.app/Contents/MacOS/englauncher | grep RPATH -A2
                    cmd LC_RPATH
                    cmdsize 48
                    path @executable_path/../Frameworks (offset 12)

                    Jims-MacBook-Pro:englauncher3 $ ls dist/englauncher.app/Contents/Frameworks
                    Python.framework libcrypto.1.1.dylib liblzma.5.dylib libmpdec.2.5.1.dylib libmpdec.3.dylib libssl.1.1.dylib
                    Jims-MacBook-Pro:englauncher3 $ ls /Applications/englauncher.app/Contents/Frameworks
                    Python.framework libcrypto.1.1.dylib liblzma.5.dylib libmpdec.2.5.1.dylib libmpdec.3.dylib libssl.1.1.dylib

                    What's odd is I can run the application from the dist directory just fine:
                    ./dist/englauncher.app/Contents/MacOS/englauncher

                    But, I get the error when running it from /Applications:
                    /Applications/englauncher.app/Contents/MacOS/englauncher

                    I copied the application from ./dist to /Applications, so they should be the same.

                    1 Reply Last reply
                    0
                    • hskoglundH Offline
                      hskoglundH Offline
                      hskoglund
                      wrote on last edited by
                      #17

                      HI, just guessing but maybe your app is picking up the QtDBus dylib from another place outside of your englauncher.app directory (and using relative paths).
                      To check, could you launch your app from the dist directory (i.e. where it runs successfully) and then open a Terminal and type
                      lsof -c englauncher
                      this will show what dlls/dylibs are loaded (and most importantly their paths).

                      J 1 Reply Last reply
                      0
                      • hskoglundH hskoglund

                        HI, just guessing but maybe your app is picking up the QtDBus dylib from another place outside of your englauncher.app directory (and using relative paths).
                        To check, could you launch your app from the dist directory (i.e. where it runs successfully) and then open a Terminal and type
                        lsof -c englauncher
                        this will show what dlls/dylibs are loaded (and most importantly their paths).

                        J Offline
                        J Offline
                        JimboNiss
                        wrote on last edited by
                        #18

                        @hskoglund, the process doesn't keep running, so not sure I can run lsof on it.

                        Another thing I tried is completely uninstalling python3 from brew repository, and reinstalling it directly from python3, using Mac disk image. Had to reinstall my pip libraries, and got the same exact issue.

                        I'm at my wits end with this, and think it's a Big Sur issue, though can't prove it.

                        1 Reply Last reply
                        0
                        • hskoglundH Offline
                          hskoglundH Offline
                          hskoglund
                          wrote on last edited by
                          #19

                          Hi, one way stop your app from exiting, you could try showing a message box, for example like this:

                          ...
                          app = QApplication([])
                          alert = QMessageBox()
                          alert.setText('Click me when lsof -c is done')
                          alert.exec()
                          ...
                          

                          then you should have time to do a lsof -c englauncher

                          J 1 Reply Last reply
                          0
                          • hskoglundH hskoglund

                            Hi, one way stop your app from exiting, you could try showing a message box, for example like this:

                            ...
                            app = QApplication([])
                            alert = QMessageBox()
                            alert.setText('Click me when lsof -c is done')
                            alert.exec()
                            ...
                            

                            then you should have time to do a lsof -c englauncher

                            J Offline
                            J Offline
                            JimboNiss
                            wrote on last edited by
                            #20

                            @hskoglund, that didn't help, as it's not even able to load the Qt libraries. I even created a simple test app with your code, and while I can run it from ./dist/testapp, as soon as I copy it to /Applications, it fails loading the libraries in the same way.

                            1 Reply Last reply
                            0
                            • hskoglundH Offline
                              hskoglundH Offline
                              hskoglund
                              wrote on last edited by
                              #21

                              Ok, please run that simple test app again from /dist/testapp, and while that QMessageBox is displayed, start a Terminal and type
                              lsof -c testapp

                              1 Reply Last reply
                              0
                              • L Offline
                                L Offline
                                leotest
                                wrote on last edited by
                                #22

                                i have the same question,wait answer,please

                                1 Reply Last reply
                                0
                                • L Offline
                                  L Offline
                                  leotest
                                  wrote on last edited by
                                  #23

                                  no answer?please help

                                  1 Reply Last reply
                                  0
                                  • hskoglundH Offline
                                    hskoglundH Offline
                                    hskoglund
                                    wrote on last edited by
                                    #24

                                    Hi, please create a new forum post and describe your problem, what version of Python and MacOS you have etc.

                                    L 1 Reply Last reply
                                    0
                                    • hskoglundH hskoglund

                                      Hi, please create a new forum post and describe your problem, what version of Python and MacOS you have etc.

                                      L Offline
                                      L Offline
                                      leotest
                                      wrote on last edited by
                                      #25

                                      @hskoglund ok,thank u

                                      1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        mkcol
                                        wrote on last edited by
                                        #26

                                        I fixed this on my machine by requiring py2app version 0.25

                                        setup_requires=['py2app==0.25']
                                        in the setup.py

                                        This problem is described in https://github.com/ronaldoussoren/py2app/issues/380 and there's already a patch. Just don't use 0.26 and 0.27.

                                        1 Reply Last reply
                                        1

                                        • Login

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Users
                                        • Groups
                                        • Search
                                        • Get Qt Extensions
                                        • Unsolved