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. OS X 10.11.4 Dynamic Library Dependency Problem
Forum Updated to NodeBB v4.3 + New Features

OS X 10.11.4 Dynamic Library Dependency Problem

Scheduled Pinned Locked Moved Solved Installation and Deployment
20 Posts 3 Posters 6.3k 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.
  • SGaistS SGaist

    Hi and welcome to devnet,

    Did you run macdeployqt on your application before copying on that other computer ?

    Sasha KolesnikovS Offline
    Sasha KolesnikovS Offline
    Sasha Kolesnikov
    wrote on last edited by Sasha Kolesnikov
    #3

    @SGaist
    Yes.I use this

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

      Since you seem to be missing the QtMultimediaWidgets framework, I'm wondering if you missed an error message when running macdeployqt.

      Did you saw anything unusual ?

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

      Sasha KolesnikovS 1 Reply Last reply
      0
      • SGaistS SGaist

        Since you seem to be missing the QtMultimediaWidgets framework, I'm wondering if you missed an error message when running macdeployqt.

        Did you saw anything unusual ?

        Sasha KolesnikovS Offline
        Sasha KolesnikovS Offline
        Sasha Kolesnikov
        wrote on last edited by Sasha Kolesnikov
        #5

        @SGaist Consol after use macdeploy

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

          The output of macdeployqt run the first time would be more helpful. Delete the app bundle, recreate it and then run macdeployqt on it with the verbose mode on so you'll have more details about what is going on.

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

          Sasha KolesnikovS 1 Reply Last reply
          0
          • SGaistS SGaist

            The output of macdeployqt run the first time would be more helpful. Delete the app bundle, recreate it and then run macdeployqt on it with the verbose mode on so you'll have more details about what is going on.

            Sasha KolesnikovS Offline
            Sasha KolesnikovS Offline
            Sasha Kolesnikov
            wrote on last edited by Sasha Kolesnikov
            #7

            @SGaist picture

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

              Why are you calling it with sudo ?

              You forgot to make it verbose

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

              Sasha KolesnikovS 1 Reply Last reply
              0
              • SGaistS SGaist

                Why are you calling it with sudo ?

                You forgot to make it verbose

                Sasha KolesnikovS Offline
                Sasha KolesnikovS Offline
                Sasha Kolesnikov
                wrote on last edited by
                #9

                @SGaist I try without sudo. What means verbose?

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

                  Verbose means "output more log information". Use the -verbose=3 option and see if there's anything in the output talking about QtMultimedia

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

                  Sasha KolesnikovS 2 Replies Last reply
                  0
                  • SGaistS SGaist

                    Verbose means "output more log information". Use the -verbose=3 option and see if there's anything in the output talking about QtMultimedia

                    Sasha KolesnikovS Offline
                    Sasha KolesnikovS Offline
                    Sasha Kolesnikov
                    wrote on last edited by
                    #11

                    @SGaist more information

                    1 Reply Last reply
                    0
                    • SGaistS SGaist

                      Verbose means "output more log information". Use the -verbose=3 option and see if there's anything in the output talking about QtMultimedia

                      Sasha KolesnikovS Offline
                      Sasha KolesnikovS Offline
                      Sasha Kolesnikov
                      wrote on last edited by Sasha Kolesnikov
                      #12

                      @SGaist I I think this is should help

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

                        Is it me or the QtMultimediaWidgets module wasn't listed ?

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

                        Sasha KolesnikovS 1 Reply Last reply
                        0
                        • SGaistS SGaist

                          Is it me or the QtMultimediaWidgets module wasn't listed ?

                          Sasha KolesnikovS Offline
                          Sasha KolesnikovS Offline
                          Sasha Kolesnikov
                          wrote on last edited by
                          #14

                          @SGaist My bad.Pic

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

                            At first sight, it looks correct. Can you run otool -l your_app.app/Contents/MacOS/exec_name and look what you get for the rpath entries ?

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

                            1 Reply Last reply
                            0
                            • Sasha KolesnikovS Sasha Kolesnikov

                              Hello! When I try to launch my qt application on other mac there appears problem with Dyld Error. While googling possible solutions unfortunately I couldn't figure out how to fix this. Please give me some hints with it. Here's error log. Thanks in advance.

                              Process: iv_macos [83556]
                              Path: /Users/USER/Downloads/iv_macos.app/Contents/MacOS/iv_macos
                              Identifier: my.iv-macos
                              Version: ???
                              Code Type: X86-64 (Native)
                              Parent Process: ??? [1]
                              Responsible: iv_macos [83556]
                              User ID: 501

                              Date/Time: 2016-07-09 01:10:43.909 +0300
                              OS Version: Mac OS X 10.11.4 (15E65)
                              Report Version: 11
                              Anonymous UUID:

                              Sleep/Wake UUID:

                              Time Awake Since Boot: 1100000 seconds
                              Time Since Wake: 7400 seconds

                              System Integrity Protection: enabled

                              Crashed Thread: 0

                              Exception Type: EXC_BREAKPOINT (SIGTRAP)
                              Exception Codes: 0x0000000000000002, 0x0000000000000000
                              Exception Note: EXC_CORPSE_NOTIFY

                              Application Specific Information:
                              dyld: launch, loading dependent libraries

                              Dyld Error Message:
                              Library not loaded: @rpath/QtMultimediaWidgets.framework/Versions/5/QtMultimediaWidgets
                              Referenced from: /Users/USER/Downloads/iv_macos.app/Contents/MacOS/iv_macos
                              Reason: image not found

                              Binary Images:
                              0x7fff64629000 - 0x7fff646600d7 dyld (360.21) <D9B236BC-4AC1-325F-B3EF-3F06DBDA7119> /usr/lib/dyld

                              Model: MacBookPro11,2, BootROM MBP112.0138.B17, 4 processors, Intel Core i7, 2.2 GHz, 16 GB, SMC 2.18f15
                              Graphics: Intel Iris Pro, Intel Iris Pro, Built-In
                              Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D54343147533641465238412D50422020
                              Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D54343147533641465238412D50422020
                              AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x134), Broadcom BCM43xx 1.0 (7.21.95.175.1a6)
                              Bluetooth: Version 4.4.4f4 17685, 3 services, 27 devices, 1 incoming serial ports
                              Network Service: Wi-Fi, AirPort, en0
                              Serial ATA Device: APPLE SSD SM0256F, 251 GB
                              USB Device: USB 3.0 Bus
                              USB Device: Apple Internal Keyboard / Trackpad
                              USB Device: BRCM20702 Hub
                              USB Device: Bluetooth USB Host Controller
                              Thunderbolt Bus: MacBook Pro, Apple Inc., 17.1

                              Sasha KolesnikovS Offline
                              Sasha KolesnikovS Offline
                              Sasha Kolesnikov
                              wrote on last edited by
                              #16

                              @Sasha-Kolesnikov Build after deploy it is a bad idea. This is solution

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

                                Do you mean that you re-built your application after calling madecployqt ?

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

                                Sasha KolesnikovS 1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  Do you mean that you re-built your application after calling madecployqt ?

                                  Sasha KolesnikovS Offline
                                  Sasha KolesnikovS Offline
                                  Sasha Kolesnikov
                                  wrote on last edited by
                                  #18

                                  @SGaist Yes

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

                                    Indeed, that's not a good idea. Your application executable will be replaced nullifying the job done by macdeployqt. You'll have to call it again before re-releasing again your application.

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

                                    1 Reply Last reply
                                    0
                                    • jonawebbJ Offline
                                      jonawebbJ Offline
                                      jonawebb
                                      wrote on last edited by jonawebb
                                      #20

                                      I've had similar problems with dynamic libraries in 10.11.4. The problems go away if I turn off System Integrity Protection.
                                      These don't show up for every executable. It depends on where the executable is installed. My executable is a Safari extension, which has to be installed in /Library/Internet Plug-ins. Apparently, that (or running in Safari) makes the executable "protected."
                                      I ran into two kinds of problems:

                                      1. The executable used @rpath to load components of the Framework libraries (inserted into the package by macdeployqt). This doesn't appear to work with System Integrity Protection. @loader_path does work, as do absolute paths. (You can change the paths using install_name_tool).
                                      2. Qt loads plugins using dlopen. This doesn't appear to work at all with System Integrity Protection. As a result, the code fails in QtGuiApplication::createPlatformIntegration, which is where it tries to load the platform plugin.

                                      I haven't found a workaround for the second problem. As a result it appears that Qt won't work for "protected" executables under OS X El Capitan.

                                      1 Reply Last reply
                                      0

                                      • Login

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