google-coral / edgetpu

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

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

Open pgenera opened 1 year ago

pgenera commented 1 year 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 1 year 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