Package: ddcci-dkms
Version: 0.4.2-4
Severity: serious
When I try to install ddcci-dkms with the Linux 6.3 headers installed,
the build of the code fails and then the install of the package fails.
I think there are two problems here:
* The code needs to be adapted to the latest Linux kernel version.
* The package should not fail to install when the module build fails.
This might be a problem in dkms itself, or in ddcci's integration.
I note that the combination of these issues also will break
installation of Linux 6.3 when ddcci-dkms is installed.
$ sudo apt install ddcci-dkms
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
ddcci-dkms
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.7 kB of archives.
After this operation, 95.2 kB of additional disk space will be used.
Get:1
https://deb.debian.org/debian testing/main amd64 ddcci-dkms all 0.4.2-4 [21.7 kB]
Fetched 21.7 kB in 1s (17.0 kB/s)
Retrieving bug reports... Done
Parsing Found/Fixed information... Done
Selecting previously unselected package ddcci-dkms.
(Reading database ... 730615 files and directories currently installed.)
Preparing to unpack .../ddcci-dkms_0.4.2-4_all.deb ...
Unpacking ddcci-dkms (0.4.2-4) ...
Setting up ddcci-dkms (0.4.2-4) ...
Loading new ddcci-0.4.2 DKMS files...
Building for 6.3.0-1-amd64
Building initial module for 6.3.0-1-amd64
Error! Bad return status for module build on kernel: 6.3.0-1-amd64 (x86_64)
Consult /var/lib/dkms/ddcci/0.4.2/build/make.log for more information.
dpkg: error processing package ddcci-dkms (--configure):
installed ddcci-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:
ddcci-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)
$ cat /var/lib/dkms/ddcci/0.4.2/build/make.log
DKMS make.log for ddcci-0.4.2 for kernel 6.3.0-1-amd64 (x86_64)
Thu 15 Jun 2023 10:23:01 AWST
make: Entering directory '/var/lib/dkms/ddcci/0.4.2/build'
make -C "ddcci"
make[1]: Entering directory '/var/lib/dkms/ddcci/0.4.2/build/ddcci'
make -C "/lib/modules/6.3.0-1-amd64/build" M="/var/lib/dkms/ddcci/0.4.2/build/ddcci" modules
make[2]: Entering directory '/usr/src/linux-headers-6.3.0-1-amd64'
CC [M] /var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.o
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1053:27: error: initialization of ‘int (*)(const struct device *, struct kobj_uevent_env *)’ from incompatible pointer type ‘int (*)(struct device *, struct kobj_uevent_env *)’ [-Werror=incompatible-pointer-types]
1053 | .uevent = ddcci_device_uevent,
| ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1053:27: note: (near initialization for ‘ddcci_device_type.uevent’)
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1056:27: error: initialization of ‘char * (*)(const struct device *, umode_t *, kuid_t *, kgid_t *)’ {aka ‘char * (*)(const struct device *, short unsigned int *, kuid_t *, kgid_t *)’} from incompatible pointer type ‘char * (*)(struct device *, umode_t *, kuid_t *, kgid_t *)’ {aka ‘char * (*)(struct device *, short unsigned int *, kuid_t *, kgid_t *)’} [-Werror=incompatible-pointer-types]
1056 | .devnode = ddcci_devnode
| ^~~~~~~~~~~~~
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1056:27: note: (near initialization for ‘ddcci_device_type.devnode’)
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1062:27: error: initialization of ‘int (*)(const struct device *, struct kobj_uevent_env *)’ from incompatible pointer type ‘int (*)(struct device *, struct kobj_uevent_env *)’ [-Werror=incompatible-pointer-types]
1062 | .uevent = ddcci_device_uevent,
| ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1062:27: note: (near initialization for ‘ddcci_dependent_type.uevent’)
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1065:27: error: initialization of ‘char * (*)(const struct device *, umode_t *, kuid_t *, kgid_t *)’ {aka ‘char * (*)(const struct device *, short unsigned int *, kuid_t *, kgid_t *)’} from incompatible pointer type ‘char * (*)(struct device *, umode_t *, kuid_t *, kgid_t *)’ {aka ‘char * (*)(struct device *, short unsigned int *, kuid_t *, kgid_t *)’} [-Werror=incompatible-pointer-types]
1065 | .devnode = ddcci_dependent_devnode
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1065:27: note: (near initialization for ‘ddcci_dependent_type.devnode’)
In file included from /usr/src/linux-headers-6.3.0-1-common/include/linux/build_bug.h:5,
from /usr/src/linux-headers-6.3.0-1-common/include/linux/container_of.h:5,
from /usr/src/linux-headers-6.3.0-1-common/include/linux/list.h:5,
from /usr/src/linux-headers-6.3.0-1-common/include/linux/kobject.h:19,
from /usr/src/linux-headers-6.3.0-1-common/include/linux/cdev.h:5,
from /var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:16:
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c: In function ‘ddcci_register_driver’:
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1107:46: error: ‘struct bus_type’ has no member named ‘p’; did you mean ‘pm’?
1107 | if (unlikely(WARN_ON(!ddcci_bus_type.p)))
| ^
/usr/src/linux-headers-6.3.0-1-common/include/linux/compiler.h:78:45: note: in definition of macro ‘unlikely’
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1107:22: note: in expansion of macro ‘WARN_ON’
1107 | if (unlikely(WARN_ON(!ddcci_bus_type.p)))
| ^~~~~~~
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c: At top level:
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1819:27: error: initialization of ‘int (*)(struct i2c_client *)’ from incompatible pointer type ‘int (*)(struct i2c_client *, const struct i2c_device_id *)’ [-Werror=incompatible-pointer-types]
1819 | .probe = ddcci_probe,
| ^~~~~~~~~~~
/var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.c:1819:27: note: (near initialization for ‘ddcci_driver.<anonymous>.probe’)
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-headers-6.3.0-1-common/scripts/Makefile.build:257: /var/lib/dkms/ddcci/0.4.2/build/ddcci/ddcci.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.3.0-1-common/Makefile:2050: /var/lib/dkms/ddcci/0.4.2/build/ddcci] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-6.3.0-1-amd64'
make[1]: *** [Makefile:38: ddcci.ko] Error 2
make[1]: Leaving directory '/var/lib/dkms/ddcci/0.4.2/build/ddcci'
make: *** [Makefile:28: ddcci] Error 2
make: Leaving directory '/var/lib/dkms/ddcci/0.4.2/build'
-- System Information:
Debian Release: 12.0
APT prefers testing-debug
APT policy: (900, 'testing-debug'), (900, 'testing'), (800, 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental')
merged-usr: no
Architecture: amd64 (x86_64)
Kernel: Linux 6.3.0-1-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), LANGUAGE=en_AU:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages ddcci-dkms depends on:
ii dkms 3.0.10-8
ddcci-dkms recommends no packages.
ddcci-dkms suggests no packages.
--
bye,
pabs
https://wiki.debian.org/PaulWise