From 0adc5edc74eaaeaefd602b9befdeab2cd15b00f4 Mon Sep 17 00:00:00 2001 From: Rahul Vaidya Date: Thu, 31 Jul 2025 11:00:49 -0500 Subject: [PATCH] Fix RHEL10 packaging for rcclras and rccl-UnitTests (#1831) Signed-off-by: ravaidya --- cmake/rcclRAS.cmake | 4 +--- install.sh | 3 +++ test/CMakeLists.txt | 2 -- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cmake/rcclRAS.cmake b/cmake/rcclRAS.cmake index 1d7eedc9ee..255623e3d9 100644 --- a/cmake/rcclRAS.cmake +++ b/cmake/rcclRAS.cmake @@ -14,13 +14,11 @@ target_link_libraries(rcclras PRIVATE hip::host) target_link_libraries(rcclras PRIVATE dl) if(BUILD_SHARED_LIBS) - target_link_libraries(rcclras PRIVATE rccl) - set_property(TARGET rcclras PROPERTY INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib;${CMAKE_BINARY_DIR};${ROCM_PATH}/lib") + target_link_libraries(rcclras PRIVATE rccl hip::device) else() add_dependencies(rcclras rccl) target_link_libraries(rcclras PRIVATE dl rt -lrccl -L${CMAKE_BINARY_DIR} -lamdhip64 -L${ROCM_PATH}/lib) endif() -set_target_properties(rcclras PROPERTIES BUILD_RPATH "${CMAKE_BINARY_DIR};${ROCM_PATH}/lib") rocm_install(TARGETS rcclras) diff --git a/install.sh b/install.sh index 21d563a7ce..a21efbae59 100755 --- a/install.sh +++ b/install.sh @@ -313,6 +313,9 @@ if [[ "${build_tests}" == true ]] || ([[ "${run_tests}" == true ]] && [[ ! -x ./ cmake_common_options="${cmake_common_options} -DBUILD_TESTS=ON" fi +# Add build directory to RPATH for packaging dependency resolution +cmake_common_options="${cmake_common_options} -DCMAKE_EXE_LINKER_FLAGS=\"-Wl,-rpath,${PWD}\"" + # Initiate RCCL CMake # Passing ONLY_FUNCS separately (not as part of ${cmake_common_options}) as # ${ONLY_FUNCS} is a debug-only feature diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2d9ee4685e..602d44fd4e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -159,13 +159,11 @@ if(BUILD_TESTS) target_link_libraries(${test_executable} PRIVATE ${RCCL_COMMON_LINK_LIBS}) if(BUILD_SHARED_LIBS) target_link_libraries(${test_executable} PRIVATE rccl) - set_property(TARGET ${test_executable} PROPERTY INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib;${ROCM_PATH}/lib;${CMAKE_BINARY_DIR}") else() add_dependencies(${test_executable} rccl) target_link_libraries(${test_executable} PRIVATE dl rt numa -lrccl -L${CMAKE_BINARY_DIR} -lrocm_smi64 -L${ROCM_PATH}/lib -L${ROCM_PATH}/rocm_smi/lib) endif() - set_property(TARGET ${test_executable} PROPERTY BUILD_RPATH "${CMAKE_BINARY_DIR};${ROCM_PATH}/lib") rocm_install(TARGETS ${test_executable} COMPONENT tests) endforeach()