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>
Этот коммит содержится в:
raramakr
2025-11-19 21:14:28 +05:30
коммит произвёл GitHub
родитель 433af908a6
Коммит eddd4c3601
7 изменённых файлов: 14 добавлений и 15 удалений
+4 -5
Просмотреть файл
@@ -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
+2 -2
Просмотреть файл
@@ -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})
+2 -2
Просмотреть файл
@@ -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)
+1 -1
Просмотреть файл
@@ -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
+2 -2
Просмотреть файл
@@ -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
+1 -1
Просмотреть файл
@@ -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
}
+2 -2
Просмотреть файл
@@ -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