Is macdeployqt a shell script?



  • Anyone know? I cannot tell by looking at it in the /bin folder..or by hex dumping it.

    Using the -verbose=4, macdeployqt output in Terminal shows references to "otool" which would seem to imply that it does some shell functions.


  • Moderators

    Shell scripts are plain text. Just open the file in a text editor and see if it's a shell script or not.



  • Did that already...opened with TextEdit on Mac. It has no extension but says it's a unix executable in finder. Garbled content except for the text strings. But it does not look like an executable..more like encrypted script.

    The reason I ask is that if it is using or "shelling" other utilities like "otool" then will it run into permission issues like Automator running a shell script?

    I'm seeing odd results from macdeployqt..specifically that when doing an "otool -L MyApp.app" prior to running it, the output does not change after running macdeployqt. None of the framework paths are changed..they all remain as

    @rpath/QtWebKitWidgets.framework/Versions/5.602.3/QtWebKitWidgets (compatibility version 5.0.0, current version 5.255.3)
    @rpath/QtPrintSupport.framework/Versions/5/QtPrintSupport (compatibility version 5.8.0, current version 5.8.0)
    @rpath/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.8.0, current version 5.8.0)
    @rpath/QtGui.framework/Versions/5/QtGui (compatibility version 5.8.0, current version 5.8.0)
    @rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.8.0, current version 5.8.0)
    @rpath/QtWebKit.framework/Versions/5.602.3/QtWebKit (compatibility version 5.0.0, current version 5.255.3)
    @rpath/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.8.0, current version 5.8.0)
    @rpath/QtXml.framework/Versions/5/QtXml (compatibility version 5.8.0, current version 5.8.0)
    

    Aren't they supposed to be changed to something like..

    @executable/../../QtWebKitWidgets.framework/Versions/5.602.3/QtWebKitWidgets (compatibility version 5.0.0, current version 5.255.3)
    @executable/../../QtPrintSupport.framework/Versions/5/QtPrintSupport (compatibility version 5.8.0, current version 5.8.0)
    @executable/../../QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.8.0, current version 5.8.0)
    @executable/../../QtGui.framework/Versions/5/QtGui (compatibility version 5.8.0, current version 5.8.0)
    @executable/../../QtCore.framework/Versions/5/QtCore (compatibility version 5.8.0, current version 5.8.0)
    @executable/../../QtWebKit.framework/Versions/5.602.3/QtWebKit (compatibility version 5.0.0, current version 5.255.3)
    @executable/../../QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.8.0, current version 5.8.0)
    @executable/../../QtXml.framework/Versions/5/QtXml (compatibility version 5.8.0, current version 5.8.0)
    

  • Lifetime Qt Champion

    Hi,

    macdeployqt is a command line tool not a shell script.

    No they are not if the rpath contains the correct search list.

    Run otool -l (lowercase L) on your application executable and search for the LC_RPATH entries.


  • Moderators



  • @SGaist

    Load command 28
              cmd LC_RPATH
          cmdsize 40
             path @loader_path/../Frameworks (offset 12)
    

    Good to go?


  • Lifetime Qt Champion

    Yes, good to go.


Log in to reply
 

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