Невозможно установить и использовать acpi_call в Fedora 37

Невозможно установить и использовать acpi_call в Fedora 37

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

Вы не сможете использовать acpi_call-1.1.0 на ядре 5.6+. Используйте версию послеэтот патч. В идеале 1.2.2

Связанный контент