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

Installing Google coral drivers on debain #865

Open dakotasoukup opened 2 months ago

dakotasoukup commented 2 months ago

Description

Hi I restarted my server and now im having trouble loading/installing google coral drivers. Debian version 6.8.0-40-generic. When I try to follow instructions on google coral page. I run lsmod | grep apex, Nothing shows. When I run sudo apt-get install gasket-dkms libedgetpu1-std, I get a error. ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/gasket-dkms.0.crash' Error! Bad return status for module build on kernel: 6.8.0-40-generic (x86_64) Consult /var/lib/dkms/gasket/1.0/build/make.log for more information. dpkg: error processing package gasket-dkms (--configure): installed gasket-dkms package post-installation script subprocess returned error exit status 10 Errors were encountered while processing: gasket-dkms E: Sub-process /usr/bin/dpkg returned an error code (1).

When I run lspci -nn | grep 089a, i get System peripheral [0880]: Global Unichip Corp. Coral Edge TPU [1ac1:089a

When I try to run ls /dev/apex_0, I get

ls: cannot access '/dev/apex_0': No such file or directory

Anyone Have a link to a guide/

Click to expand! ### Issue Type Build/Install ### Operating System Linux ### Coral Device _No response_ ### Other Devices _No response_ ### Programming Language _No response_ ### Relevant Log Output _No response_
thefl0yd commented 2 months ago

Did you do what it says in the error message you pasted above ^^^ and:

Consult /var/lib/dkms/gasket/1.0/build/make.log for more information.

Or otherwise troubleshoot why the module build is crashing on your system?

dakotasoukup commented 2 months ago

This is what the log shows.

DKMS make.log for gasket-1.0 for kernel 6.8.0-40-generic (x86_64) Wed Sep 4 07:08:36 AM CDT 2024 make: Entering directory '/usr/src/linux-headers-6.8.0-40-generic' warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 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 CC [M] /var/lib/dkms/gasket/1.0/build/gasket_sysfs.o CC [M] /var/lib/dkms/gasket/1.0/build/apex_driver.o /var/lib/dkms/gasket/1.0/build/gasket_interrupt.c: In function ‘gasket_handle_interrupt’: /var/lib/dkms/gasket/1.0/build/gasket_interrupt.c:161:17: error: too many arguments to function ‘eventfd_signal’ 161 | eventfd_signal(ctx, 1); | ^~~~~~ In file included from /var/lib/dkms/gasket/1.0/build/gasket_interrupt.h:11, from /var/lib/dkms/gasket/1.0/build/gasket_interrupt.c:4: ./include/linux/eventfd.h:87:20: note: declared here 87 | static inline void eventfd_signal(struct eventfd_ctx *ctx) | ^~~~~~ make[2]: [scripts/Makefile.build:243: /var/lib/dkms/gasket/1.0/build/gasket_interrupt.o] Error 1 make[2]: Waiting for unfinished jobs.... make[1]: [/usr/src/linux-headers-6.8.0-40-generic/Makefile:1926: /var/lib/dkms/gasket/1.0/build] Error 2 make: [Makefile:240: __sub-make] Error 2 make: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'

I have tried editing the gasket_interrupt.c file but nothing seams to work.

brendankmurphy commented 2 months ago

To get around this I had to clone the gasket driver git repository, rebuild the driver deb, and install. See this link and the reply from user asansi (should be first reply). Note: The source file gasket_interrupt.c did not need to be modified, it had already been updated per the robertzaage fix request. However, rebuilding the driver and installing did resolve my issue with getting the coral drivers to install.

thesebastianf commented 1 month ago

will this be fixed without workaroungs needed? right now the offical documentation from coral is not working on a recent kernel ...