Fedora 37 工作站 6.0.7-301.fc37.x86_64
我acpi_call
从这里,并rpm -qa | grep acpi_call
返回acpi_call-1.1.0-1.noarch
,因此已安装。
并rpm -ql acpi_call
返回 处的 acpi_call 文件列表/usr/src/
,并且它们存在
我/var/libs/dkms/
也有acpi_call
文件夹
然而,/proc/acpi/call
不存在并lsmod | grep -q acpi_call
返回没有什么。
尝试卸载 acpi_call
我sudo dnf remove acpi_call
得到了:
Error! The module/version combo: %{module}-1.1.0 is not located in the DKMS tree.
error: %preun(acpi_call-1.1.0-1.noarch) scriptlet failed, exit status 3
error: acpi_call-1.1.0-1.noarch: erase failed
Error! The module/version combo: %{module}-1.1.0 is not located in the DKMS tree.
error: %preun(acpi_call-1.1.0-1.noarch) scriptlet failed, exit status 3
error: acpi_call-1.1.0-1.noarch: erase failed
相同rpm -e
:
❯ rpm -qa | grep acpi_call !1622 zluka
acpi_call-1.1.0-1.noarch
acpi_call-1.1.0-1.noarch
❯ sudo rpm -e --allmatches acpi_call !1623 zluka
Error! The module/version combo: %{module}-1.1.0 is not located in the DKMS tree.
error: %preun(acpi_call-1.1.0-1.noarch) scriptlet failed, exit status 3
error: acpi_call-1.1.0-1.noarch: erase failed
Error! The module/version combo: %{module}-1.1.0 is not located in the DKMS tree.
error: %preun(acpi_call-1.1.0-1.noarch) scriptlet failed, exit status 3
error: acpi_call-1.1.0-1.noarch: erase failed
但是,我没有收到错误sudo dnf --setopt=tsflags=noscripts remove acpi_call
(但/var/lib/dkms/acpi_call/
其后的文件夹仍然存在,因此我手动将其删除)并且它之后rpm -qa | grep acpi_call
没有返回任何内容。
但是之后安装 acpi_call
我又有这个了:
Creating symlink /var/lib/dkms/acpi_call/1.1.0/source -> /usr/src/acpi_call-1.1.0
Sign command: /lib/modules/6.0.7-301.fc37.x86_64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Certificate or key are missing, generating self signed certificate for MOK...
Key file /var/lib/dkms/mok.key not found and can't be generated, modules won't be signed
Building module:
Cleaning build area...
make -j16 KERNELRELEASE=6.0.7-301.fc37.x86_64 -C /lib/modules/6.0.7-301.fc37.x86_64/build M=/var/lib/dkms/acpi_call/1.1.0/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.0.7-301.fc37.x86_64 (x86_64)
Consult /var/lib/dkms/acpi_call/1.1.0/build/make.log for more information.
Sign command: /lib/modules/6.0.7-301.fc37.x86_64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Certificate or key are missing, generating self signed certificate for MOK...
Key file /var/lib/dkms/mok.key not found and can't be generated, modules won't be signed
Building module:
Cleaning build area...
make -j16 KERNELRELEASE=6.0.7-301.fc37.x86_64 -C /lib/modules/6.0.7-301.fc37.x86_64/build M=/var/lib/dkms/acpi_call/1.1.0/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.0.7-301.fc37.x86_64 (x86_64)
Consult /var/lib/dkms/acpi_call/1.1.0/build/make.log for more information.
warning: %post(acpi_call-1.1.0-1.noarch) scriptlet failed, exit status 10
/var/lib/dkms/acpi_call/1.1.0/build/make.log
:
DKMS make.log for acpi_call-1.1.0 for kernel 6.0.7-301.fc37.x86_64 (x86_64)
Thu Feb 9 03:37:07 PM EET 2023
make: Entering directory '/usr/src/kernels/6.0.7-301.fc37.x86_64'
CC [M] /var/lib/dkms/acpi_call/1.1.0/build/acpi_call.o
/var/lib/dkms/acpi_call/1.1.0/build/acpi_call.c: In function ‘init_acpi_call’:
/var/lib/dkms/acpi_call/1.1.0/build/acpi_call.c:355:53: error: passing argument 4 of ‘proc_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
355 | &proc_acpi_operations);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| struct file_operations *
In file included from /var/lib/dkms/acpi_call/1.1.0/build/acpi_call.c:6:
./include/linux/proc_fs.h:110:122: note: expected ‘const struct proc_ops *’ but argument is of type ‘struct file_operations *’
110 | struct proc_dir_entry *proc_create(const char *name, umode_t mode, struct proc_dir_entry *parent, const struct proc_ops *proc_ops);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:249: /var/lib/dkms/acpi_call/1.1.0/build/acpi_call.o] Error 1
make: *** [Makefile:1856: /var/lib/dkms/acpi_call/1.1.0/build] Error 2
make: Leaving directory '/usr/src/kernels/6.0.7-301.fc37.x86_64'
答案1
您将无法在 5.6+ 内核上使用 acpi_call-1.1.0。请使用 5.6 之后的版本此补丁. 理想情况下 1.2.2