From 99d4d089b9b491bb960c49a8166bbcf256932d8a Mon Sep 17 00:00:00 2001 From: William Dillon Date: Sat, 16 Dec 2023 12:22:34 -0800 Subject: [PATCH 1/2] Attempt to fix missing dylibs in macos First attempt; these commits will be collapsed when it's verified working. --- .github/workflows/Build.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index e2ba2f5..e4f17a2 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -142,6 +142,19 @@ jobs: qmake LibreVNA-GUI.pro make -j9 macdeployqt LibreVNA-GUI.app + + # Unfortunately, we have to do some hackery to fix the loading path errors + # and missing dylibs from macdeployqt. + cp -r /usr/local/Frameworks/QtDbus.framework/ LibreVNA-GUI.app/Contents/Frameworks + cp /usr/local/lib/libusb-1.0.0.dylib LibreVNA-GUI.app/Contents/Frameworks + install_name_tool -change /usr/local/opt/libusb/lib/libusb-1.0.0.dylib @executable_path/../Frameworks/libusb-1.0.0.dylib LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI + install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/A/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/A/QtWidgets LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI + install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/A/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/A/QtGui LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI + install_name_tool -change /usr/local/opt/qt/lib/QtNetwork.framework/Versions/A/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/A/QtNetwork LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI + install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/A/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/A/QtCore LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI + cp /usr/local/opt/dbus/lib/libdbus-1.3.dylib LibreVNA-GUI.app/Contents/Frameworks/QtDBus.framework + install_name_tool -change /usr/local/opt/dbus/lib/libdbus-1.3.dylib @executable_path/../Frameworks/QtDbus.framework/libdbus-1.3.dylib LibreVNA-GUI.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus + zip -ry LibreVNA-GUI.zip LibreVNA-GUI.app shell: bash From 4fcd1abf8556b363de53f335bf078a0d3d2999a9 Mon Sep 17 00:00:00 2001 From: William Dillon Date: Sun, 17 Dec 2023 19:07:46 -0800 Subject: [PATCH 2/2] Fix deployment --- .github/workflows/Build.yml | 12 +----------- Software/PC_Application/LibreVNA-GUI/fixMacDylibs.sh | 11 +++++++++++ 2 files changed, 12 insertions(+), 11 deletions(-) create mode 100755 Software/PC_Application/LibreVNA-GUI/fixMacDylibs.sh diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index e4f17a2..10af637 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -142,19 +142,9 @@ jobs: qmake LibreVNA-GUI.pro make -j9 macdeployqt LibreVNA-GUI.app - # Unfortunately, we have to do some hackery to fix the loading path errors # and missing dylibs from macdeployqt. - cp -r /usr/local/Frameworks/QtDbus.framework/ LibreVNA-GUI.app/Contents/Frameworks - cp /usr/local/lib/libusb-1.0.0.dylib LibreVNA-GUI.app/Contents/Frameworks - install_name_tool -change /usr/local/opt/libusb/lib/libusb-1.0.0.dylib @executable_path/../Frameworks/libusb-1.0.0.dylib LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI - install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/A/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/A/QtWidgets LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI - install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/A/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/A/QtGui LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI - install_name_tool -change /usr/local/opt/qt/lib/QtNetwork.framework/Versions/A/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/A/QtNetwork LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI - install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/A/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/A/QtCore LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI - cp /usr/local/opt/dbus/lib/libdbus-1.3.dylib LibreVNA-GUI.app/Contents/Frameworks/QtDBus.framework - install_name_tool -change /usr/local/opt/dbus/lib/libdbus-1.3.dylib @executable_path/../Frameworks/QtDbus.framework/libdbus-1.3.dylib LibreVNA-GUI.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus - + ./fixMacDylibs.sh zip -ry LibreVNA-GUI.zip LibreVNA-GUI.app shell: bash diff --git a/Software/PC_Application/LibreVNA-GUI/fixMacDylibs.sh b/Software/PC_Application/LibreVNA-GUI/fixMacDylibs.sh new file mode 100755 index 0000000..fd12c81 --- /dev/null +++ b/Software/PC_Application/LibreVNA-GUI/fixMacDylibs.sh @@ -0,0 +1,11 @@ +#!/bin/bash -ex + +cp -r /usr/local/Frameworks/QtDbus.framework LibreVNA-GUI.app/Contents/Frameworks +cp /usr/local/lib/libusb-1.0.0.dylib LibreVNA-GUI.app/Contents/Frameworks +install_name_tool -change /usr/local/opt/libusb/lib/libusb-1.0.0.dylib @executable_path/../Frameworks/libusb-1.0.0.dylib LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI +install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/A/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/A/QtWidgets LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI +install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/A/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/A/QtGui LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI +install_name_tool -change /usr/local/opt/qt/lib/QtNetwork.framework/Versions/A/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/A/QtNetwork LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI +install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/A/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/A/QtCore LibreVNA-GUI.app/Contents/MacOS/LibreVNA-GUI +cp /usr/local/opt/dbus/lib/libdbus-1.3.dylib LibreVNA-GUI.app/Contents/Frameworks/QtDBus.framework +install_name_tool -change /usr/local/opt/dbus/lib/libdbus-1.3.dylib @executable_path/../Frameworks/QtDbus.framework/libdbus-1.3.dylib LibreVNA-GUI.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus