Author: Danny Milosavljevic Date: 2025-10-20 Subject: Set RPATH for SourceKit Set RPATH for SourceKit shared libraries on Linux when BOOTSTRAPPING_MODE is not set. Without this, libsourcekitdInProc.so has no RPATH and cannot find libdispatch.so and libBlocksRuntime.so in lib/swift/linux/. --- a/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake +++ b/tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake @@ -227,6 +227,10 @@ macro(add_sourcekit_library name) if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") set_target_properties(${name} PROPERTIES INSTALL_NAME_DIR "@rpath") + elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + if(NOT RPATH_LIST) + set(RPATH_LIST "$ORIGIN/swift/linux") + endif() endif() set_target_properties(${name} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE) set_target_properties(${name} PROPERTIES INSTALL_RPATH "${RPATH_LIST}")