SWDEV-505204 - Update libamdocl.so installation path to avoid exposing all ROCm libraries via ldconfig (#1914)
ldconfig is run during rocm-opencl package installation. Installing libamdocl.so in /opt/rocm-xxx/lib exposes all ROCm libraries when /opt/rocm/lib is added to ldconfig. To prevent this, libamdocl.so is now installed in /opt/rocm-xxx/lib/opencl. ldconfig will use the updated path, limiting exposure to only libamdocl.so library. Co-authored-by: raramakr <raramakr@amd.com>
Этот коммит содержится в:
@@ -28,6 +28,10 @@ if(ENABLE_ADDRESS_SANITIZER)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--enable-new-dtags -fuse-ld=lld -fsanitize=address -shared-libasan -g -gz -Wl,--build-id=sha1 -L${ROCM_PATH}/lib/asan")
|
||||
endif()
|
||||
|
||||
if(NOT WIN32)
|
||||
set(AMDOCL_INSTALL_LIBDIR ${PROJECT_NAME})
|
||||
endif()
|
||||
|
||||
set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
|
||||
if(BUILD_ICD)
|
||||
add_subdirectory(khronos/icd)
|
||||
@@ -96,11 +100,6 @@ if(DEFINED ENV{ROCM_LIBPATCH_VERSION})
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm" CACHE PATH "Package Installation path for OpenCL")
|
||||
#ROCM_PATH is needed to create symlink of libraries
|
||||
if(NOT DEFINED ROCM_PATH)
|
||||
string(REPLACE "/opencl" "" ROCM_PATH ${CPACK_PACKAGING_INSTALL_PREFIX})
|
||||
endif()
|
||||
message (STATUS "ROCM Installation path(ROCM_PATH): ${ROCM_PATH}")
|
||||
|
||||
configure_file(
|
||||
packaging/amdocl64.icd
|
||||
|
||||
@@ -129,5 +129,5 @@ target_link_libraries(amdocl PUBLIC rocclr)
|
||||
INSTALL(TARGETS amdocl
|
||||
COMPONENT MAIN
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${AMDOCL_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${AMDOCL_INSTALL_LIBDIR})
|
||||
|
||||
@@ -17,8 +17,8 @@ set(CPACK_DEB_COMPONENT_INSTALL ON)
|
||||
set(CPACK_RPM_COMPONENT_INSTALL ON)
|
||||
|
||||
install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary)
|
||||
install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary)
|
||||
install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan)
|
||||
install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR}/${AMDOCL_INSTALL_LIBDIR} COMPONENT binary)
|
||||
install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR}/${AMDOCL_INSTALL_LIBDIR} COMPONENT asan)
|
||||
install(FILES ${opencl_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary)
|
||||
install(FILES ${opencl_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR}-asan COMPONENT asan)
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ set -e
|
||||
INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@
|
||||
|
||||
do_ldconfig() {
|
||||
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
|
||||
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@/@AMDOCL_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@
|
||||
INSTALL_PATH=$RPM_INSTALL_PREFIX0
|
||||
|
||||
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
|
||||
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@/@AMDOCL_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
|
||||
|
||||
@@ -5,7 +5,7 @@ set -e
|
||||
INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@
|
||||
|
||||
do_ldconfig() {
|
||||
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
|
||||
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@/@AMDOCL_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@
|
||||
INSTALL_PATH=$RPM_INSTALL_PREFIX0
|
||||
|
||||
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
|
||||
echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@/@AMDOCL_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig
|
||||
|
||||
Ссылка в новой задаче
Block a user