You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

安装AMDGPU DKMS时因cc1缺失及GCC版本不匹配编译失败,且无法通过APT修复的问题求助

安装AMDGPU DKMS时因cc1缺失及GCC版本不匹配编译失败,且无法通过APT修复的问题求助

我目前在Kubuntu 22.04.2 LTS上尝试更新AMD显卡驱动,同时为Blender Cycles渲染安装HIP驱动。当我使用最新的amdgpu-install脚本执行以下命令时:

sudo amdgpu-install --usecase=graphics,hip

遇到了如下编译错误:

cpp: fatal error: cannot execute 'cc1': execvp: No such file or directory

compilation terminated.

configure: error: *** Cannot determine kernel version.

ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/amdgpu-dkms.0.crash'

Error! Bad return status for module build on kernel: 5.15.0-76-generic (x86_64)

Consult /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/make.log for more information.

dpkg: error processing package amdgpu-dkms (--configure):

installed amdgpu-dkms package post-installation script subprocess returned error exit status 10

Errors were encountered while processing:

amdgpu-dkms

E: Sub-process /usr/bin/dpkg returned an error code (1)

我尝试过的解决方法

  • 网上查询到cc1错误比较常见,通常可以找到系统中已有的cc1并创建符号链接到GCC目录,但我的系统里完全找不到cc1文件
  • 尝试重新安装build-essential包(这个包会安装gcc、g++、cmake等工具),但所有APT相关命令都会触发amdgpu-dkms的构建过程,而这个构建必然失败,导致整个APT命令无法完成

make.log日志内容

DKMS make.log for amdgpu-6.1.5-1609671.22.04 for kernel 5.15.0-76-generic (x86_64)

Mon 10 Jul 2023 00:26:58 AEST

make: Entering directory '/usr/src/linux-headers-5.15.0-76-generic'

warning: the compiler differs from the one used to build the kernel

The kernel was built by: gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0

You are using:           gcc (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/Makefile:17: "Local GCC version 120100 does not match kernel compiler GCC version 110300"

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/Makefile:18: "This may cause unexpected and hard-to-isolate compiler-related issues"

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/Makefile:219: "The local C standard(gnu89) doesn't match kernel default C standard(gnu11/gnu99)"

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/drm_gem_ttm_helper.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/drm_buddy.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/scheduler/sched_main.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/scheduler/sched_fence.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/scheduler/sched_entity.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/ttm/ttm_tt.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/main.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdgpu/amdgpu_drv.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/symbols.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/kcl_common.o

In file included from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/kcl_iosys-map.h:10,

from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/ttm/backport/backport.h:10,

from <command-line>:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/header/linux/iosys-map.h:5:15: fatal error: linux/iosys-map.h: No such file or directory

5 | #include_next <linux/iosys-map.h>

|               ^~~~~~~~~~~~~~~~~~~

compilation terminated.

make[1]: *** [scripts/Makefile.build:297: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/drm_gem_ttm_helper.o] Error 1

make[1]: *** Waiting for unfinished jobs....

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdgpu/amdgpu_device.o

In file included from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/kcl_iosys-map.h:10,

from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/backport/backport.h:14,

from <command-line>:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/header/linux/iosys-map.h:5:15: fatal error: linux/iosys-map.h: No such file or directory

5 | #include_next <linux/iosys-map.h>

|               ^~~~~~~~~~~~~~~~~~~

compilation terminated.

In file included from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/kcl_iosys-map.h:10,

from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/ttm/backport/backport.h:10,

from <command-line>:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/header/linux/iosys-map.h:5:15: fatal error: linux/iosys-map.h: No such file or directory

5 | #include_next <linux/iosys-map.h>

|               ^~~~~~~~~~~~~~~~~~~

compilation terminated.

In file included from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/scheduler/sched_main.c:51:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/linux/dma-resv.h: In function ‘dma_resv_trylock’:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/linux/dma-resv.h:330:16: error: too many arguments to function ‘ww_mutex_trylock’

330 |         return ww_mutex_trylock(&obj->lock, NULL);

|                ^~~~~~~~~~~~~~~~

In file included from ./include/linux/seqlock.h:20,

from ./include/linux/hrtimer.h:20,

from ./include/linux/sched.h:19,

from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/backport/kcl_kthread_backport.h:4,

from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/scheduler/backport/backport.h:7,

from <command-line>:

./include/linux/ww_mutex.h:349:32: note: declared here

349 | static inline int __must_check ww_mutex_trylock(struct ww_mutex *lock)

|                                ^~~~~~~~~~~~~~~~

make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdgpu/amdgpu_drv.o] Error 1

make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/ttm/ttm_tt.o] Error 1

make[2]: *** Waiting for unfinished jobs....

make[1]: *** [scripts/Makefile.build:560: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/ttm] Error 2

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/kcl_kernel_params.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/dma-buf/dma-resv.o

make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/scheduler/sched_main.o] Error 1

make[2]: *** Waiting for unfinished jobs....

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/kcl_backlight.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/kcl_ioctl.o

In file included from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/dma-buf/dma-resv.c:36:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/linux/dma-resv.h: In function ‘dma_resv_trylock’:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/linux/dma-resv.h:330:16: error: too many arguments to function ‘ww_mutex_trylock’

330 |         return ww_mutex_trylock(&obj->lock, NULL);

|                ^~~~~~~~~~~~~~~~

In file included from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/linux/dma-resv.h:42:

./include/linux/ww_mutex.h:349:32: note: declared here

349 | static inline int __must_check ww_mutex_trylock(struct ww_mutex *lock)

|                                ^~~~~~~~~~~~~~~~

In file included from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/kcl_iosys-map.h:10,

from /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/backport/backport.h:14,

from <command-line>:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/include/kcl/header/linux/iosys-map.h:5:15: fatal error: linux/iosys-map.h: No such file or directory

5 | #include_next <linux/iosys-map.h>

|               ^~~~~~~~~~~~~~~~~~~

compilation terminated.

make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdgpu/amdgpu_device.o] Error 1

make[1]: *** [scripts/Makefile.build:560: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdgpu] Error 2

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/kcl_kthread.o

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/kcl_io.o

In file included from ./arch/x86/include/asm/bug.h:86,

from ./include/linux/bug.h:5,

from ./include/linux/cpumask.h:14,

from ./include/linux/smp.h:13,

from ./include/linux/lockdep.h:14,

from ./include/linux/mutex.h:17,

from ./include/linux/ww_mutex.h:20:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/dma-buf/dma-resv.c: In function ‘amddma_resv_add_fence’:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/dma-buf/dma-resv.c:287:17: error: implicit declaration of function ‘dma_fence_is_container’; did you mean ‘dma_fence_is_later’? [-Werror=implicit-function-declaration]

287 |         WARN_ON(dma_fence_is_container(fence));

|                 ^~~~~~~~~~~~~~~~~~~~~~

./include/asm-generic/bug.h:121:32: note: in definition of macro ‘WARN_ON’

121 |         int __ret_warn_on = !!(condition);                              \

|                                ^~~~~~~~~

CC [M]  /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/kcl_seq_file.o

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/dma-buf/dma-resv.c: In function ‘amddma_resv_describe’:

/var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/dma-buf/dma-resv.c:726:17: error: implicit declaration of function ‘dma_fence_describe’; did you mean ‘dma_resv_describe’? [-Werror=implicit-function-declaration]

726 |                 dma_fence_describe(fence, seq);

|                 ^~~~~~~~~~~~~~~~~~

|                 dma_resv_describe

cc1: some warnings being treated as errors

make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/amd/amdkcl/dma-buf/dma-resv.o] Error 1

make[2]: *** Waiting for unfinished jobs....

make[1]: *** [scripts/Makefile.build:560: /var/lib/dkms/amdgpu/6.1.5-1609671.22.04/build/scheduler] Error 2

make[1

火山引擎 最新活动