From ed2300516f804bbd52443e7f68ad7d3ffe937509 Mon Sep 17 00:00:00 2001 From: "Arif, Maisam" Date: Wed, 27 Aug 2025 20:10:52 -0500 Subject: [PATCH] Revert "[SWDEV-536176] libdrm_amdgpu depdency change (#448)" This reverts commit 652761de54a87bcd38939458f17764e2105c7eb3. --- .github/workflows/codeql.yml | 2 +- CMakeLists.txt | 6 +++--- README.md | 4 ++-- docs/install/build.md | 4 ++-- py-interface/Dockerfile | 2 +- src/CMakeLists.txt | 2 +- src/amd_smi/amd_smi.cc | 24 ++++++++++++------------ src/amd_smi/amd_smi_drm.cc | 2 +- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index af88164d91..e0399dd8e1 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -56,7 +56,7 @@ jobs: run: sudo apt-get install -y g++ - name: Install libdrm - run: sudo apt-get install -y libdrm-amdgpu-dev + run: sudo apt-get install -y libdrm-dev - name: Install DOxygen run: sudo apt-get install -y doxygen diff --git a/CMakeLists.txt b/CMakeLists.txt index 73ed4eec71..8a99a2ee6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -318,7 +318,7 @@ install( add_subdirectory(goamdsmi_shim) #Debian package specific variables -set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "python3-argcomplete, libdrm-amdgpu-dev") +set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "python3-argcomplete, libdrm-dev, libdrm-amdgpu-dev") set(CPACK_DEBIAN_ASAN_PACKAGE_RECOMMENDS ${CPACK_DEBIAN_PACKAGE_RECOMMENDS}) set(CPACK_DEBIAN_DEV_PACKAGE_RECOMMENDS ${CPACK_DEBIAN_PACKAGE_RECOMMENDS}) set(CPACK_DEBIAN_PACKAGE_DEPENDS "sudo, libc6, python3 (>= 3.6.8), python3-pip, python3-setuptools, python3-wheel") @@ -390,11 +390,11 @@ if(CPACK_RPM_PACKAGE_RELEASE) set(CPACK_RPM_PACKAGE_RELEASE_DIST ON) endif() # NOTE: RPM SUGGESTS DO NOT WORK! https://bugzilla.redhat.com/show_bug.cgi?id=1811358 -set(CPACK_RPM_PACKAGE_RECOMMENDS "python3-argcomplete") +set(CPACK_RPM_PACKAGE_SUGGESTS "python3-argcomplete, libdrm-dev, libdrm-amdgpu-dev") set(CPACK_RPM_DEV_PACKAGE_SUGGESTS ${CPACK_RPM_PACKAGE_SUGGESTS}) set(CPACK_RPM_ASAN_PACKAGE_SUGGESTS ${CPACK_RPM_PACKAGE_SUGGESTS}) # python version gated by rhel8 :( -set(CPACK_RPM_PACKAGE_REQUIRES "sudo, python3 >= 3.6.8, python3-pip, libdrm-amdgpu-devel") +set(CPACK_RPM_PACKAGE_REQUIRES "sudo, python3 >= 3.6.8, python3-pip, python3-wheel, python3-setuptools") set(CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_PACKAGE_REQUIRES}) set(CPACK_RPM_ASAN_PACKAGE_REQUIRES ${CPACK_RPM_PACKAGE_REQUIRES}) diff --git a/README.md b/README.md index df45abfe43..1913f76f49 100644 --- a/README.md +++ b/README.md @@ -171,8 +171,8 @@ during development; earlier versions are not guaranteed to work. * CMake (v3.20.0 or later) -- `python3 -m pip install cmake` * g++ (v5.4.0 or later) -* libdrm-amdgpu-dev (for Ubuntu and Debian) -* libdrm-amdgpu-devel (for RPM-based distributions) +* libdrm-dev (for Ubuntu and Debian) +* libdrm-devel (for RPM-based distributions) In order to build the AMD SMI Python package, the following components are required: diff --git a/docs/install/build.md b/docs/install/build.md index ce98a14fa1..14fd11dd76 100644 --- a/docs/install/build.md +++ b/docs/install/build.md @@ -18,8 +18,8 @@ versions are not guaranteed to work. * CMake (v3.15.0 or later) -- `python3 -m pip install cmake` * g++ (v5.4.0 or later) -* libdrm-amdgpu-dev (for Ubuntu and Debian) -* libdrm-amdgpu-devel (for RPM-based distributions) +* libdrm-dev (for Ubuntu and Debian) +* libdrm-devel (for RPM-based distributions) In order to build the AMD SMI Python package, the following components are required: diff --git a/py-interface/Dockerfile b/py-interface/Dockerfile index 2e6fdabc40..96ca9cbb35 100644 --- a/py-interface/Dockerfile +++ b/py-interface/Dockerfile @@ -15,7 +15,7 @@ RUN apt update --yes \ cmake \ git \ gnupg \ - libdrm-amdgpu-dev \ + libdrm-dev \ libpython3-dev \ lsb-release \ pkg-config \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 520f68dd71..e087eb2a72 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -78,7 +78,7 @@ set(${AMD_SMI}_VERSION_BUILD "0") message("SOVERSION: ${SO_VERSION_STRING}") add_library(${AMD_SMI} ${SRC_LIST} ${INC_LIST}) -target_link_libraries(${AMD_SMI} pthread rt dl) +target_link_libraries(${AMD_SMI} pthread rt dl ${DRM_LIBRARIES} ${AMDGPU_DRM_LIBRARIES}) target_include_directories(${AMD_SMI} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/rocm_smi/include ${PROJECT_SOURCE_DIR}/common/shared_mutex ${ACA_INC_DIR}) diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc index a9ca31ae20..9e13a84be2 100644 --- a/src/amd_smi/amd_smi.cc +++ b/src/amd_smi/amd_smi.cc @@ -924,11 +924,11 @@ amdsmi_status_t amdsmi_get_gpu_vram_usage(amdsmi_processor_handle processor_hand } amd::smi::AMDSmiLibraryLoader libdrm; - amdsmi_status_t status = libdrm.load("libdrm_amdgpu.so.1"); + amdsmi_status_t status = libdrm.load("libdrm.so.2"); if (status != AMDSMI_STATUS_SUCCESS) { libdrm.unload(); ss << __PRETTY_FUNCTION__ - << " | Failed to load libdrm_amdgpu.so: " << strerror(errno) + << " | Failed to load libdrm.so.2: " << strerror(errno) << "; Returning: " << smi_amdgpu_get_status_string(status, false); LOG_ERROR(ss); return status; @@ -1730,11 +1730,11 @@ amdsmi_get_gpu_asic_info(amdsmi_processor_handle processor_handle, amdsmi_asic_i } amd::smi::AMDSmiLibraryLoader libdrm; - status = libdrm.load("libdrm_amdgpu.so"); + status = libdrm.load("libdrm.so.2"); if (status != AMDSMI_STATUS_SUCCESS) { libdrm.unload(); ss << __PRETTY_FUNCTION__ - << " | Failed to load libdrm_amdgpu.so: " << strerror(errno) + << " | Failed to load libdrm.so.2: " << strerror(errno) << "; Returning: " << smi_amdgpu_get_status_string(status, false); LOG_ERROR(ss); return status; @@ -1953,11 +1953,11 @@ amdsmi_status_t amdsmi_get_gpu_vram_info( } amd::smi::AMDSmiLibraryLoader libdrm; - amdsmi_status_t status = libdrm.load("libdrm_amdgpu.so"); + amdsmi_status_t status = libdrm.load("libdrm.so.2"); if (status != AMDSMI_STATUS_SUCCESS) { libdrm.unload(); ss << __PRETTY_FUNCTION__ - << " | Failed to load libdrm_amdgpu.so: " << strerror(errno) + << " | Failed to load libdrm.so.2: " << strerror(errno) << "; Returning: " << smi_amdgpu_get_status_string(status, false); LOG_ERROR(ss); return status; @@ -3888,11 +3888,11 @@ amdsmi_get_gpu_vbios_info(amdsmi_processor_handle processor_handle, amdsmi_vbios } amd::smi::AMDSmiLibraryLoader libdrm; - status = libdrm.load("libdrm_amdgpu.so"); + status = libdrm.load("libdrm.so.2"); if (status != AMDSMI_STATUS_SUCCESS) { libdrm.unload(); ss << __PRETTY_FUNCTION__ - << " | Failed to load libdrm_amdgpu.so: " << strerror(errno) + << " | Failed to load libdrm.so.2: " << strerror(errno) << "; Returning: " << smi_amdgpu_get_status_string(status, false); LOG_ERROR(ss); return status; @@ -4450,11 +4450,11 @@ amdsmi_status_t amdsmi_get_gpu_driver_info(amdsmi_processor_handle processor_han return AMDSMI_STATUS_FILE_ERROR; } amd::smi::AMDSmiLibraryLoader libdrm; - status = libdrm.load("libdrm_amdgpu.so"); + status = libdrm.load("libdrm.so.2"); if (status != AMDSMI_STATUS_SUCCESS) { libdrm.unload(); ss << __PRETTY_FUNCTION__ - << " | Failed to load libdrm_amdgpu.so" + << " | Failed to load libdrm.so.2" << "; Returning: " << smi_amdgpu_get_status_string(status, false); LOG_ERROR(ss); return status; @@ -4927,11 +4927,11 @@ amdsmi_get_gpu_virtualization_mode(amdsmi_processor_handle processor_handle, } amd::smi::AMDSmiLibraryLoader libdrm; - status = libdrm.load("libdrm_amdgpu.so"); + status = libdrm.load("libdrm.so.2"); if (status != AMDSMI_STATUS_SUCCESS) { libdrm.unload(); ss << __PRETTY_FUNCTION__ - << " | Failed to load libdrm_amdgpu.so" + << " | Failed to load libdrm.so.2" << "; Returning: " << smi_amdgpu_get_status_string(status, false); LOG_ERROR(ss); return status; diff --git a/src/amd_smi/amd_smi_drm.cc b/src/amd_smi/amd_smi_drm.cc index 59771f50c9..9b9156cf26 100644 --- a/src/amd_smi/amd_smi_drm.cc +++ b/src/amd_smi/amd_smi_drm.cc @@ -59,7 +59,7 @@ std::string AMDSmiDrm::find_file_in_folder(const std::string& folder, } amdsmi_status_t AMDSmiDrm::init() { - amdsmi_status_t status = lib_loader_.load("libdrm_amdgpu.so"); + amdsmi_status_t status = lib_loader_.load("libdrm.so.2"); if (status != AMDSMI_STATUS_SUCCESS) { return status; }