google-coral / edgetpu

Coral issue tracker (and legacy Edge TPU API source)
https://coral.ai
Apache License 2.0
412 stars 124 forks source link

gasket-dkms installation fails on debian testing (Trixie) #785

Open pgenera opened 11 months ago

pgenera commented 11 months ago

Description

Installing gasket fails to compile on Debian testing at the moment. This has appeared with the 6.4 kernel packages, although I think there were gcc updates in there too.

Click to expand! ### Issue Type Build/Install ### Operating System Linux ### Coral Device Mini PCIe ### Other Devices _No response_ ### Programming Language C++ ### Relevant Log Output ```shell $ less /var/lib/dkms/gasket/1.0/build/make.log DKMS make.log for gasket-1.0 for kernel 6.4.0-1-amd64 (x86_64) Thu Aug 10 08:03:01 AM EDT 2023 make: Entering directory '/usr/src/linux-headers-6.4.0-1-amd64' CC [M] /var/lib/dkms/gasket/1.0/build/gasket_core.o CC [M] /var/lib/dkms/gasket/1.0/build/gasket_ioctl.o CC [M] /var/lib/dkms/gasket/1.0/build/gasket_interrupt.o CC [M] /var/lib/dkms/gasket/1.0/build/gasket_page_table.o /var/lib/dkms/gasket/1.0/build/gasket_core.c: In function ‘gasket_register_device’: /var/lib/dkms/gasket/1.0/build/gasket_core.c:1841:41: error: passing argument 1 of ‘class_create’ from incompatible pointer type [-Werror=incompatible-pointer-types] 1841 | class_create(driver_desc->module, driver_desc->name); | ~~~~~~~~~~~^~~~~~~~ | | | struct module * In file included from /usr/src/linux-headers-6.4.0-1-common/include/linux/device.h:31, from /usr/src/linux-headers-6.4.0-1-common/include/linux/cdev.h:8, from /var/lib/dkms/gasket/1.0/build/gasket_core.h:11, from /var/lib/dkms/gasket/1.0/build/gasket_core.c:12: /usr/src/linux-headers-6.4.0-1-common/include/linux/device/class.h:230:54: note: expected ‘const char *’ but argument is of type ‘struct module *’ 230 | struct class * __must_check class_create(const char *name); | ~~~~~~~~~~~~^~~~ /var/lib/dkms/gasket/1.0/build/gasket_core.c:1841:17: error: too many arguments to function ‘class_create’ 1841 | class_create(driver_desc->module, driver_desc->name); | ^~~~~~~~~~~~ /usr/src/linux-headers-6.4.0-1-common/include/linux/device/class.h:230:29: note: declared here 230 | struct class * __must_check class_create(const char *name); | ^~~~~~~~~~~~ cc1: some warnings being treated as errors make[1]: *** [/usr/src/linux-headers-6.4.0-1-common/scripts/Makefile.build:257: /var/lib/dkms/gasket/1.0/build/gasket_core.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [/usr/src/linux-headers-6.4.0-1-common/Makefile:2051: /var/lib/dkms/gasket/1.0/build] Error 2 make: Leaving directory '/usr/src/linux-headers-6.4.0-1-amd64' $ cc --version cc (Debian 13.2.0-1) 13.2.0 Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ dpkg -l gcc Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================= ii gcc 4:13.1.0-4 amd64 GNU C compiler ```
bawachhe commented 10 months ago

dupes #695

Issue has to do with kernel 6.4 making the relevant breaking change to the function signature (number of params) of class_create