mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-06-28 12:54:06 +02:00
gnu: amd-smi: Fix build with newer libdrm.
* gnu/packages/patches/amd-smi-newer-libdrm.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/rocm.scm (amd-smi)[source]: Use it. Fixes: guix/guix#8058 Change-Id: I3348b888ab297647c4fdb2e4a38707a92994af22 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8599
This commit is contained in:
@@ -1000,6 +1000,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/akonadi-not-relocatable.patch \
|
||||
%D%/packages/patches/akonadi-timestamps.patch \
|
||||
%D%/packages/patches/alure-dumb-2.patch \
|
||||
%D%/packages/patches/amd-smi-newer-libdrm.patch \
|
||||
%D%/packages/patches/amd-smi-python.patch \
|
||||
%D%/packages/patches/ibus-anthy-fix-tests.patch \
|
||||
%D%/packages/patches/ibus-table-paths.patch \
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
This commit fixes compilation of amd-smi for ROCm 7.1.1 with recent versions
|
||||
of libdrm.
|
||||
|
||||
Adapted from <https://github.com/ROCm/rocm-systems/pull/3517>.
|
||||
|
||||
From 6b32c405e1495d626a40a0ad195024220f9c08a9 Mon Sep 17 00:00:00 2001
|
||||
From: "Mario Limonciello (AMD)" <superm1@kernel.org>
|
||||
Date: Wed, 17 Dec 2025 23:59:07 -0600
|
||||
Subject: [PATCH] Fix compilation against newer libdrm
|
||||
|
||||
diff --git a/include/amd_smi/impl/amd_smi_drm.h b/include/amd_smi/impl/amd_smi_drm.h
|
||||
index ea6198c1187..79003546103 100644
|
||||
--- a/include/amd_smi/impl/amd_smi_drm.h
|
||||
+++ b/include/amd_smi/impl/amd_smi_drm.h
|
||||
@@ -26,15 +26,12 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <vector>
|
||||
-#include <memory>
|
||||
#include <mutex> // NOLINT
|
||||
#include <string>
|
||||
|
||||
#include "amd_smi/amdsmi.h"
|
||||
#include "amd_smi/impl/amd_smi_lib_loader.h"
|
||||
#include "amd_smi/impl/amdgpu_drm.h"
|
||||
-#include "amd_smi/impl/xf86drm.h"
|
||||
-#include "amd_smi/impl/scoped_fd.h"
|
||||
|
||||
namespace amd::smi {
|
||||
|
||||
diff --git a/include/amd_smi/impl/amdgpu_drm.h b/include/amd_smi/impl/amdgpu_drm.h
|
||||
index b56a5ac4b20..0e483d13b38 100644
|
||||
--- a/include/amd_smi/impl/amdgpu_drm.h
|
||||
+++ b/include/amd_smi/impl/amdgpu_drm.h
|
||||
@@ -1625,15 +1625,6 @@ struct drm_amdgpu_info_uq_metadata {
|
||||
#define AMDGPU_FAMILY_GC_11_5_0 150 /* GC 11.5.0 */
|
||||
#define AMDGPU_FAMILY_GC_12_0_0 152 /* GC 12.0.0 */
|
||||
|
||||
-/* FIXME wrong namespace! */
|
||||
-struct drm_color_ctm_3x4 {
|
||||
- /*
|
||||
- * Conversion matrix with 3x4 dimensions in S31.32 sign-magnitude
|
||||
- * (not two's complement!) format.
|
||||
- */
|
||||
- __u64 matrix[12];
|
||||
-};
|
||||
-
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
diff --git a/include/amd_smi/impl/xf86drm.h b/include/amd_smi/impl/xf86drm.h
|
||||
index 04568e10083..1fbfdd0ac78 100644
|
||||
--- a/include/amd_smi/impl/xf86drm.h
|
||||
+++ b/include/amd_smi/impl/xf86drm.h
|
||||
@@ -34,7 +34,7 @@
|
||||
#ifndef _XF86DRM_H_
|
||||
#define _XF86DRM_H_
|
||||
|
||||
-#include <stdarg.h>
|
||||
+#include <cstdarg>
|
||||
#include <sys/types.h>
|
||||
#include <cstdint>
|
||||
#ifndef __LIBDRM__
|
||||
diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc
|
||||
index 36361fd8086..560ca08309b 100644
|
||||
--- a/src/amd_smi/amd_smi.cc
|
||||
+++ b/src/amd_smi/amd_smi.cc
|
||||
@@ -21,11 +21,11 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
-#include <assert.h>
|
||||
-#include <errno.h>
|
||||
+#include <cassert>
|
||||
+#include <cerrno>
|
||||
#include <sys/utsname.h>
|
||||
-#include <stdio.h>
|
||||
-#include <string.h>
|
||||
+#include <cstdio>
|
||||
+#include <cstring>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <cstdlib>
|
||||
@@ -35,7 +35,6 @@
|
||||
#include <sstream>
|
||||
#include <iomanip>
|
||||
#include <iostream>
|
||||
-#include <fstream>
|
||||
#include <queue>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
@@ -43,11 +42,10 @@
|
||||
#include <memory>
|
||||
#include <limits>
|
||||
#include <functional>
|
||||
-#include <exception>
|
||||
|
||||
#include "config/amd_smi_config.h"
|
||||
#include "amd_smi/amdsmi.h"
|
||||
-#include "amd_smi/impl/fdinfo.h"
|
||||
+#include "amd_smi/impl/scoped_fd.h"
|
||||
#include "amd_smi/impl/amd_smi_common.h"
|
||||
#include "amd_smi/impl/amd_smi_cper.h"
|
||||
#include "amd_smi/impl/amd_smi_system.h"
|
||||
@@ -66,7 +64,6 @@
|
||||
#include "amd_smi/impl/amd_smi_utils.h"
|
||||
#include "amd_smi/impl/amd_smi_processor.h"
|
||||
#include "rocm_smi/rocm_smi.h"
|
||||
-#include "rocm_smi/rocm_smi_common.h"
|
||||
#include "rocm_smi/rocm_smi_logger.h"
|
||||
#include "rocm_smi/rocm_smi_utils.h"
|
||||
#include "rocm_smi/rocm_smi_kfd.h"
|
||||
diff --git a/src/amd_smi/amd_smi_drm.cc b/src/amd_smi/amd_smi_drm.cc
|
||||
index de0cc7178fa..ad98f524bad 100644
|
||||
--- a/src/amd_smi/amd_smi_drm.cc
|
||||
+++ b/src/amd_smi/amd_smi_drm.cc
|
||||
@@ -24,11 +24,11 @@
|
||||
#include <dirent.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
-#include <cstring>
|
||||
#include <memory>
|
||||
#include <regex>
|
||||
#include "config/amd_smi_config.h"
|
||||
#include "amd_smi/impl/amd_smi_drm.h"
|
||||
+#include "amd_smi/impl/xf86drm.h"
|
||||
#include "impl/scoped_fd.h"
|
||||
#include "rocm_smi/rocm_smi.h"
|
||||
#include "rocm_smi/rocm_smi_main.h"
|
||||
diff --git a/src/amd_smi/amd_smi_utils.cc b/src/amd_smi/amd_smi_utils.cc
|
||||
index aac3170b704..ddf2efea519 100644
|
||||
--- a/src/amd_smi/amd_smi_utils.cc
|
||||
+++ b/src/amd_smi/amd_smi_utils.cc
|
||||
@@ -20,17 +20,17 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
-#include <limits.h>
|
||||
+#include <climits>
|
||||
#include <sys/ioctl.h>
|
||||
#include <libdrm/amdgpu.h>
|
||||
#include <libdrm/drm.h>
|
||||
#include <fcntl.h>
|
||||
#include <cstdint>
|
||||
-#include <stdio.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <string.h>
|
||||
+#include <cstdio>
|
||||
+#include <cstdlib>
|
||||
+#include <cstring>
|
||||
#include <sys/mman.h>
|
||||
-#include <time.h>
|
||||
+#include <ctime>
|
||||
#include <unistd.h>
|
||||
#include <dirent.h>
|
||||
#include <sys/types.h>
|
||||
@@ -41,14 +41,13 @@
|
||||
#include <iostream>
|
||||
#include <iterator>
|
||||
#include <memory>
|
||||
-#include <random>
|
||||
#include <regex>
|
||||
#include <sstream>
|
||||
|
||||
#include "config/amd_smi_config.h"
|
||||
#include "amd_smi/impl/amd_smi_utils.h"
|
||||
+#include "amd_smi/impl/scoped_fd.h"
|
||||
#include "amd_smi/impl/amd_smi_system.h"
|
||||
-#include "shared_mutex.h" // NOLINT
|
||||
#include "rocm_smi/rocm_smi_logger.h"
|
||||
#include "rocm_smi/rocm_smi_utils.h"
|
||||
|
||||
@@ -485,7 +485,8 @@ the system in terms of memory pools and their agents.")
|
||||
(base32
|
||||
"10qjisjz4shsznh61in6zjjzsag49mdzj1ahclsyxhh5qvxvfrq4"))
|
||||
(patches
|
||||
(search-patches "amd-smi-python.patch"))))
|
||||
(search-patches "amd-smi-python.patch"
|
||||
"amd-smi-newer-libdrm.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list
|
||||
#:tests? #f ;; The test suite is empty and failing as of 25.5.1
|
||||
|
||||
Reference in New Issue
Block a user