aymanbagabas/Huawei-WMI

dkms install failure

Closed this issue · 2 comments

Hi Ayman!

I was trying to install huawei-wmi-dkms-git in order to include commit 18c40de, but got following error after dkms install command:

DKMS make.log for huawei-wmi-3.4 for kernel 6.3.5-arch1-1 (x86_64)
Mon Jun  5 04:18:05 PM +05 2023
  CC [M]  /var/lib/dkms/huawei-wmi/3.4/build/huawei-wmi.o
/var/lib/dkms/huawei-wmi/3.4/build/huawei-wmi.c:490:24: error: initialization of ‘int (*)(struct power_supply *, struct acpi_battery_hook *)’ from incompatible pointer type ‘int (*)(struct power_supply *)’ [-Werror=incompatible-pointer-types]
  490 |         .add_battery = huawei_wmi_battery_add,
      |                        ^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/huawei-wmi/3.4/build/huawei-wmi.c:490:24: note: (near initialization for ‘huawei_wmi_battery_hook.add_battery’)
/var/lib/dkms/huawei-wmi/3.4/build/huawei-wmi.c:491:27: error: initialization of ‘int (*)(struct power_supply *, struct acpi_battery_hook *)’ from incompatible pointer type ‘int (*)(struct power_supply *)’ [-Werror=incompatible-pointer-types]
  491 |         .remove_battery = huawei_wmi_battery_remove,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/huawei-wmi/3.4/build/huawei-wmi.c:491:27: note: (near initialization for ‘huawei_wmi_battery_hook.remove_battery’)
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:252: /var/lib/dkms/huawei-wmi/3.4/build/huawei-wmi.o] Error 1
make: *** [Makefile:2025: /var/lib/dkms/huawei-wmi/3.4/build] Error 2

Can you please advise what is wrong and any hint how to fix this?

Pretty much the same error here for Ubuntu:

output of make

make -C /lib/modules/6.2.0-26-generic/build/ M=/home/ubuntu/Downloads/Huawei-WMI modules
make[1]: Entering directory '/usr/src/linux-headers-6.2.0-26-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-11 (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
  You are using:           gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
  CC [M]  /home/ubuntu/Downloads/Huawei-WMI/huawei-wmi.o
/home/ubuntu/Downloads/Huawei-WMI/huawei-wmi.c:490:24: error: initialization of ‘int (*)(struct power_supply *, struct acpi_battery_hook *)’ from incompatible pointer type ‘int (*)(struct power_supply *)’ [-Werror=incompatible-pointer-types]
  490 |         .add_battery = huawei_wmi_battery_add,
      |                        ^~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/Downloads/Huawei-WMI/huawei-wmi.c:490:24: note: (near initialization for ‘huawei_wmi_battery_hook.add_battery’)
/home/ubuntu/Downloads/Huawei-WMI/huawei-wmi.c:491:27: error: initialization of ‘int (*)(struct power_supply *, struct acpi_battery_hook *)’ from incompatible pointer type ‘int (*)(struct power_supply *)’ [-Werror=incompatible-pointer-types]
  491 |         .remove_battery = huawei_wmi_battery_remove,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/Downloads/Huawei-WMI/huawei-wmi.c:491:27: note: (near initialization for ‘huawei_wmi_battery_hook.remove_battery’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:260: /home/ubuntu/Downloads/Huawei-WMI/huawei-wmi.o] Error 1
make[1]: *** [Makefile:2026: /home/ubuntu/Downloads/Huawei-WMI] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.2.0-26-generic'
make: *** [Makefile:7: modules] Error 2

Machine info:

BIOS           = 1.24
OS Release     = Ubuntu 22.04.3 LTS
Kernel         = 6.2.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Jul 13 16:27:29 UTC 2 x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-6.2.0-26-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash vt.handoff=7
Init system    = systemd v249 (249.11-0ubuntu3.9)
Boot mode      = UEFI

This is actually same issue as described in #75 .
It's been fixed by #77.