When I try to debug my executable on macOS and a related executable that was build as vcpkg port, I get:
dyld[68115]: Library not loaded: @rpath/QtXml.framework/Versions/A/QtXml
Referenced from: <877DDE33-BED7-34DF-A34D-AC7AD5B93D25> /Users/amonra/.vs/DSS/build/DeepSkyStacker/DeepSkyStacker.app/Contents/MacOS/uchmviewer
Reason: tried: '/Users/amonra/.vs/DSS/build/DeepSkyStacker/DeepSkyStacker.app/Contents/MacOS/../../lib/QtXml.framework/Versions/A/QtXml' (no such file), '/Users/amonra/.vs/DSS/build/DeepSkyStacker/DeepSkyStacker.app/Contents/MacOS/../../lib/QtXml.framework/Versions/A/QtXml' (no such file)
The deployment did copy the QtXml stuff:
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/QtXml
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Resources
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions/A
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions/A/_CodeSignature
-- Installing: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions/A/_CodeSignature/CodeResources
-- Installing: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions/A/QtXml
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions/A/Resources
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions/A/Resources/PrivacyInfo.xcprivacy
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions/A/Resources/Info.plist
-- Up-to-date: /Users/amonra/build/Darwin/arm64/Debug/./DeepSkyStacker.app/Contents/Frameworks/QtXml.framework/Versions/Current
which makes me suspect that RPATH is not set “right”.
The portfile.cmake contains:
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO deepskystacker/uChmViewer
REF d073ff24655bb28c026fe001a30a8408910f49f8
SHA512 89ae5cd77ab8415f62c94f1baf42a859d6d77b1059c6453098fa801799a794f02e096ac78dd1ad69ac865be662ac95e6c6018486c95c42e4ea3f62c2aff882d1
HEAD_REF master
)
set(QTDIR $ENV{QTDIR})
set(CMAKE_PREFIX_PATH ${QTDIR})
set(ENV{QT_DIR} ${QTDIR})
set(ENV{Qt6_DIR} ${QTDIR})
set(CMAKE_INSTALL_RPATH $ORIGIN)
set(CMAKE_AUTOMOC ON)
set (options
"-DUSE_WEBENGINE=ON "
"-DUSE_MACOS_BUNDLE=OFF "
"-DUSE_GETTEXT=OFF "
"-DIS_VCPKG_BUILD=ON "
# "-DUSE_STATIC_CHMLIB=ON "
"-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=13.4 "
)
message ( "****************************************************************" )
message ( "EV QTDIR: " ${QTDIR})
message ( "Setting build options: " ${options} )
message ( "****************************************************************" )
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS ${options}
)
vcpkg_cmake_install()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
vcpkg_copy_tools(
TOOL_NAMES uchmviewer
AUTO_CLEAN
)
vcpkg_install_copyright( FILE_LIST "${SOURCE_PATH}/COPYING" )
Oddly If I run uchmviewer from DeepSkyStacker.app/Contents/MacOS it runs without problems!