From ef43e847ec2a06eb735201c177a301a2882fadf8 Mon Sep 17 00:00:00 2001 From: "Galantsev, Dmitrii" Date: Thu, 6 Feb 2025 16:23:54 -0600 Subject: [PATCH] CMAKE - Fix ld.lld undefined reference: drmGetVersion (#100) After some update to amdclang a tag '--no-allow-shlib-undefine' began being enforced. This caused compile failure when building with: CC=amdclang CXX=amdclang++ cmake -B build DRM_AMDGPU_LIB is never used. DRM_LIBRARIES is the one set by pkg_check_modules(DRM...) Change-Id: I031aa1325b7a09a027aba8ca5cc7cc44fe86d3be Signed-off-by: Galantsev, Dmitrii [ROCm/amdsmi commit: c3864bf6171970d86dc50fd23f06377736823997] --- projects/amdsmi/CMakeLists.txt | 2 ++ projects/amdsmi/src/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/projects/amdsmi/CMakeLists.txt b/projects/amdsmi/CMakeLists.txt index 06bf9e484b..84224d6826 100644 --- a/projects/amdsmi/CMakeLists.txt +++ b/projects/amdsmi/CMakeLists.txt @@ -171,7 +171,9 @@ if(ENABLE_ESMI_LIB) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-write-strings") endif() +# sets DRM_LIBRARIES and DRM_INCLUDE_DIRS pkg_check_modules(DRM REQUIRED libdrm) +# sets AMDGPU_DRM_LIBRARIES and AMDGPU_DRM_INCLUDE_DIRS pkg_check_modules(AMDGPU_DRM REQUIRED libdrm_amdgpu) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/third_party/shared_mutex diff --git a/projects/amdsmi/src/CMakeLists.txt b/projects/amdsmi/src/CMakeLists.txt index 4b46c52821..c9b62ca27c 100644 --- a/projects/amdsmi/src/CMakeLists.txt +++ b/projects/amdsmi/src/CMakeLists.txt @@ -81,7 +81,7 @@ configure_file("${AMD_SMI_TARGET}Config.in" "${PROJECT_SOURCE_DIR}/include/amd_s add_executable(amd_smi_ex "../example/amd_smi_drm_example.cc") target_link_libraries(amd_smi_ex ${AMD_SMI_TARGET}) add_library(${AMD_SMI_TARGET} ${SRC_LIST} ${INC_LIST}) -target_link_libraries(${AMD_SMI_TARGET} pthread rt dl ${DRM_AMDGPU_LIB} ${AMDGPU_DRM_LIBRARIES}) +target_link_libraries(${AMD_SMI_TARGET} pthread rt dl ${DRM_LIBRARIES} ${AMDGPU_DRM_LIBRARIES}) target_include_directories(${AMD_SMI_TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/rocm_smi/include ${PROJECT_SOURCE_DIR}/common/shared_mutex)