Processed (with 1 error): Re: Bug#1037974: ddcci-dkms: code fails to build and package fails to install with Linux 6.3 headers
Processing control commands: > clone -1 -2 Bug #1037974 {Done: Stephen Kitt } [ddcci-dkms] ddcci-dkms: code fails to build and package fails to install with Linux 6.3 headers Bug 1037974 cloned as bug 1038156 > reassign -2 src:dkms Bug #1038156 {Done: Stephen Kitt } [ddcci-dkms] ddcci-dkms: code fails to build and package fails to install with Linux 6.3 headers Bug reassigned from package 'ddcci-dkms' to 'src:dkms'. No longer marked as found in versions ddcci-driver-linux/0.4.2-4 and ddcci-driver-linux/0.4.3-1. No longer marked as fixed in versions ddcci-driver-linux/0.4.3-2. > severity -2 wishlist Bug #1038156 {Done: Stephen Kitt } [src:dkms] ddcci-dkms: code fails to build and package fails to install with Linux 6.3 headers Severity set to 'wishlist' from 'serious' > retite -2 dkms: add directive to ignore module build failures Unknown command or malformed arguments to command. -- 1037974: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1037974 1038156: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1038156 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#1037974: ddcci-dkms: code fails to build and package fails to install with Linux 6.3 headers
Control: clone -1 -2 Control: reassign -2 src:dkms Control: severity -2 wishlist Control: retite -2 dkms: add directive to ignore module build failures On 15/06/2023 22.27, Stephen Kitt wrote: * 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. First of all, I find it a great improvement in dkms that it signals failure to build a module by exiting with an error (instead of returning 0 after printing "module failed to build" which easily gets lost in the upgrade log.) Of course this causes previously unseen failures during the upgrade phase. (Instead of missing root file system or accelerated graphics after a reboot in case of a "required" module.) Maybe annoying in case of "optional" modules. From a QA perspective I definitively want to see these as failures. This is the more interesting issue, but see #1029063. Admittedly the absence of a ddcci module is unlikely to ever prevent a system from booting, so perhaps we could have a way of telling dkms that build failures in a given module shouldn’t be treated as errors. Andreas, what do you think? That's an interesting idea. Yes, that sounds like a useful feature. I'm not sure if it should be enabled by default in dkms.conf of the module or the local admin should rather create /etc/dkms/$module.conf with an override directive in there. How should we call such a directive? Maybe BUILD_FAILURE_IS_FATAL, default: yes. With my QA hat on, I want a global override for that: BUILD_FAILURE_IS_ALWAYS_FATAL, default no. Next question: do we want to ignore such a build failure only for unknown kernels (newer than the last successfully tested version) or always? Sometimes backporting fixes to a stable kernel breaks modules (see e.g. lttng-modules-dkms in (old-)old-stable). Does anyone want to open an issue at the dkms github project, s.t. more people can throw in their ideas? (We'll probably test that in Debian first before upstreaming a solution.) Andreas
Bug#1037974: ddcci-dkms: code fails to build and package fails to install with Linux 6.3 headers
Hi Paul, On Thu, 15 Jun 2023 10:32:56 +0800, Paul Wise wrote: > 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. I’ve applied candidate patches from the upstream repo to handle up to 6.4. > * 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. This is the more interesting issue, but see #1029063. Admittedly the absence of a ddcci module is unlikely to ever prevent a system from booting, so perhaps we could have a way of telling dkms that build failures in a given module shouldn’t be treated as errors. Andreas, what do you think? Regards, Stephen pgpdvmAJgP37_.pgp Description: OpenPGP digital signature
Bug#1037974: ddcci-dkms: code fails to build and package fails to install with Linux 6.3 headers
Hi I successfully applied patch from https://aur.archlinux.org/packages/ddcci-driver-linux-dkms and compiled without error. Tomas
Bug#1037974: ddcci-dkms: code fails to build and package fails to install with Linux 6.3 headers
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