From 6fbf7673aa7f133fe24c70ab1986f32347e0f0b0 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Sat, 8 Jul 2023 00:04:19 -0700 Subject: [PATCH] SWDEV-409575 - Append additional RPATH to libraries installed in /opt/rocm-ver/lib/roctracer RPATH in libraries installed in /opt/rocm-ver/lib/roctracer should be: $ORIGIN:$ORIGIN/.. cmake shared linker flags will provide the rpath $ORIGIN The patch will append the rpath $ORIGIN/.. to the component specific libraries Change-Id: Ied2bcb57bf0dd38ee3d1a946a5afc1bb182ff619 --- CMakeLists.txt | 4 +++- plugin/file/CMakeLists.txt | 3 ++- src/CMakeLists.txt | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b8cdc7bf0..14efcbbc19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,7 +38,9 @@ endif() set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_compile_options(-Wall -Werror) - +# To set addition RUNPATH in libraries +# installed in /opt/rocm-ver/lib/roctracer +set(ROCM_APPEND_PRIVLIB_RPATH "$ORIGIN/..") set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) diff --git a/plugin/file/CMakeLists.txt b/plugin/file/CMakeLists.txt index bf031f4083..21ef330684 100644 --- a/plugin/file/CMakeLists.txt +++ b/plugin/file/CMakeLists.txt @@ -34,7 +34,8 @@ add_library(file_plugin ${LIBRARY_TYPE} ${FILE_SOURCES}) set_target_properties(file_plugin PROPERTIES CXX_VISIBILITY_PRESET hidden LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../exportmap - LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) + LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} + INSTALL_RPATH "${ROCM_APPEND_PRIVLIB_RPATH}") target_compile_definitions(file_plugin PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_HCC__=1) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1bf88004c4..8714e11759 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -218,7 +218,8 @@ add_library(roctracer_tool SHARED ${TRACER_TOOL_SOURCES}) set_target_properties(roctracer_tool PROPERTIES CXX_VISIBILITY_PRESET hidden - LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap) + LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap + INSTALL_RPATH "${ROCM_APPEND_PRIVLIB_RPATH}") target_compile_definitions(roctracer_tool PRIVATE HIP_PROF_HIP_API_STRING=1 __HIP_PLATFORM_HCC__=1) @@ -235,6 +236,7 @@ install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PRO install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT asan) add_library(hip_stats SHARED hip_stats/hip_stats.cpp) +set_target_properties(hip_stats PROPERTIES INSTALL_RPATH "${ROCM_APPEND_PRIVLIB_RPATH}") target_compile_definitions(hip_stats PRIVATE __HIP_PLATFORM_AMD__) target_link_libraries(hip_stats roctracer stdc++fs) install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT runtime)