From ec564c1d2c331c151e52917273ed0d465a33cba3 Mon Sep 17 00:00:00 2001 From: "Bill(Shuzhou) Liu" Date: Thu, 17 Mar 2022 10:57:33 -0400 Subject: [PATCH] Add run path dependency on grpc libraries Add run path dependency for grpc libabsl_*.so required by RHEL. Change-Id: Ie033cc25019e0cb46a895e8c3e583a0d22ab4561 [ROCm/rdc commit: c4dab3b2bd6351783fc26704c1ab40aee7e9b898] --- projects/rdc/server/CMakeLists.txt | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/projects/rdc/server/CMakeLists.txt b/projects/rdc/server/CMakeLists.txt index 93cfca818e..a9ec427d89 100755 --- a/projects/rdc/server/CMakeLists.txt +++ b/projects/rdc/server/CMakeLists.txt @@ -95,20 +95,19 @@ if (DEFINED ENV{ROCM_RPATH}) set (CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) set (CMAKE_SKIP_BUILD_RPATH TRUE) - # Run path can only include direct refer library, here is the indirect libs + # Run path can only include direct refer library, include the indirect libs # required by gRPC - set (RDCD_EXTRA_LIB absl_str_format_internal absl_strings absl_throw_delegate - absl_bad_optional_access absl_strings absl_throw_delegate absl_int128 - absl_strings_internal absl_raw_logging_internal address_sorting - gpr upb ssl crypto) - - # Include absl_synchronization from higher version gRPC - find_library(ABSL_SYNC_LIB absl_synchronization PATHS ${GRPC_ROOT} PATH_SUFFIXES lib lib64) - if(ABSL_SYNC_LIB) - message("link to libabsl_synchronization.so from grpc ......") - set(RDCD_EXTRA_LIB ${RDCD_EXTRA_LIB} absl_synchronization) - endif() - + # Get all absl library and re2 + file(GLOB grpc_libs "${GRPC_ROOT}/lib*/lib*.so") + foreach(src_file ${grpc_libs}) + get_filename_component(lib_name "${src_file}" NAME_WLE) + STRING(REGEX REPLACE "^lib" "" lib_name ${lib_name}) # strip out lib + if(lib_name MATCHES "absl.*" OR lib_name STREQUAL "re2") + set(RDCD_EXTRA_LIB ${RDCD_EXTRA_LIB} ${lib_name}) + endif() + endforeach() + # Set other library + set(RDCD_EXTRA_LIB ${RDCD_EXTRA_LIB} address_sorting gpr upb ssl crypto) endif() add_executable(${SERVER_DAEMON_EXE} "${SERVER_SRC_LIST}")