Can't install hailo-rt-pcie-driver_4.17.0_all.deb

system: wsl2 ubuntu22.04;
This is the content of the error:
Failed. Exited with status 2. See /var/log/hailort-pcie-driver.deb.log
dpkg: error processing package hailort-pcie-driver (–install):
installed hailort-pcie-driver package post-installation script subprocess returned error exit status 2
Errors were encountered while processing:
hailort-pcie-driver

Hi @KNN2157,
On Windows system, the runtime SW needs to be installed directly on the machine using the msi installer.

The DFC SW, is supported only on Linnux, and a WA for using it on Windows means installing inside WSL.

I hope that this is clearer now.

I am currently using WSL-Ubuntu 22.04,i can’t install hailo-rt-pice, error processing package hailort-pcie-driver (–install):
installed hailort-pcie-driver package post-installation script subprocess returned error exit status 2,What should I do about it?I type hailortcli scan,all eroor。

Hi @KNN2157,
What does log file contain?

cat /var/log/hailort-pcie-driver.deb.log

Same problem here trying to install the PCIe driver on Ubuntu 24.04 on a Raspberry Pi 5.

I have the suspicion the problem is missing kernel headers.

$ sudo apt install ./hailort-pcie-driver_4.18.0_all.deb ./hailort_4.18.0_arm64.deb ./hailo_integration_tool_1.17.0_arm64.deb 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'hailort-pcie-driver' instead of './hailort-pcie-driver_4.18.0_all.deb'
Note, selecting 'hailort' instead of './hailort_4.18.0_arm64.deb'
Note, selecting 'hailo-integration-tool' instead of './hailo_integration_tool_1.17.0_arm64.deb'
hailort-pcie-driver is already the newest version (4.18.0).
hailort is already the newest version (4.18.0).
hailo-integration-tool is already the newest version (1.17.0).
0 upgraded, 0 newly installed, 0 to remove and 228 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 
Setting up hailort-pcie-driver (4.18.0) ...

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

build-essential/noble,now 12.10ubuntu1 arm64 [installed,automatic]
Do you wish to use DKMS? [Y/n]: 
Failed. Exited with status 2. See /var/log/hailort-pcie-driver.deb.log
dpkg: error processing package hailort-pcie-driver (--configure):
 installed hailort-pcie-driver package post-installation script subprocess retur
ned error exit status 2
Errors were encountered while processing:
 hailort-pcie-driver

E: Sub-process /usr/bin/dpkg returned an error code (1)
jpmeijers@jpmeijers-desktop:~/Downloads$ cat /var/log/hailort-pcie-driver.deb.log
######### Thu Jul 11 12:54:33 SAST 2024 #########
######### Thu Jul 11 12:54:45 SAST 2024 #########
Could not test for SecureBoot, assuming SecureBoot is disabled on this machine.
######### Thu Jul 11 12:55:37 SAST 2024 #########
/share/opt/hailo/linux/pcie /
make[1]: *** /lib/modules/6.8.0-1004-raspi//build: No such file or directory.  Stop.
make: *** [Makefile:100: clean] Error 2
Failed. Exited with status 2. See /var/log/hailort-pcie-driver.deb.log
Failed at 40
   37	}
   38	
   39	function compile_and_install_pcie_driver_with_dkms() {
   40	    make clean &>> $LOG
   41	    make install_dkms &>> $LOG || {
   42	        echo "Failed to install PCIe driver to the DKMS tree. Trying to install PCIe driver without DKMS"
   43	        compile_and_install_pcie_driver_without_dkms
######### Thu Jul 11 12:56:23 SAST 2024 #########
/share/opt/hailo/linux/pcie /
make[1]: *** /lib/modules/6.8.0-1004-raspi//build: No such file or directory.  Stop.
make: *** [Makefile:100: clean] Error 2
Failed. Exited with status 2. See /var/log/hailort-pcie-driver.deb.log
Failed at 48
   45	}
   46	
   47	function compile_and_install_pcie_driver_without_dkms() {
   48	    make clean &>> $LOG
   49	    make all &>> $LOG
   50	    make install &>> $LOG
   51	}

Edit: No, the error still occurs after installing the kernel headers using:

$ sudo apt-get install linux-headers-$(uname -r)
######### Thu Jul 11 13:00:59 SAST 2024 #########
/share/opt/hailo/linux/pcie /
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-1004-raspi'
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-1004-raspi'
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-1004-raspi'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: aarch64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
  You are using:           gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
  CC [M]  /share/opt/hailo/linux/pcie/src/pcie.o
  CC [M]  /share/opt/hailo/linux/pcie/src/fops.o
  CC [M]  /share/opt/hailo/linux/pcie/src/utils.o
  CC [M]  /share/opt/hailo/linux/pcie/src/sysfs.o
  CC [M]  /share/opt/hailo/linux/pcie/src/pci_soc_ioctl.o
  CC [M]  /share/opt/hailo/linux/pcie/../../common/fw_validation.o
  CC [M]  /share/opt/hailo/linux/pcie/../../common/fw_operation.o
  CC [M]  /share/opt/hailo/linux/pcie/../../common/pcie_common.o
/share/opt/hailo/linux/pcie/../../common/pcie_common.c:659:6: error: no previous prototype for ‘hailo_pcie_is_device_ready_for_boot’ [-Werror=missing-prototypes]
  659 | bool hailo_pcie_is_device_ready_for_boot(struct hailo_pcie_resources *resources)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /share/opt/hailo/linux/pcie/../../common/pcie_common.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.8.0-1004-raspi/Makefile:1926: /share/opt/hailo/linux/pcie] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-1004-raspi'
make: *** [Makefile:93: all] Error 2
Failed. Exited with status 2. See /var/log/hailort-pcie-driver.deb.log
Failed at 49
   46	
   47	function compile_and_install_pcie_driver_without_dkms() {
   48	    make clean &>> $LOG
   49	    make all &>> $LOG
   50	    make install &>> $LOG
   51	}
   52	

Trying to compile the driver from source according to this guide results in the same error:

  CC [M]  /home/jpmeijers/hailort-drivers/linux/pcie/../../common/pcie_common.o
/home/jpmeijers/hailort-drivers/linux/pcie/../../common/pcie_common.c:659:6: error: no previous prototype for ‘hailo_pcie_is_device_ready_for_boot’ [-Werror=missing-prototypes]
  659 | bool hailo_pcie_is_device_ready_for_boot(struct hailo_pcie_resources *resources)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /home/jpmeijers/hailort-drivers/linux/pcie/../../common/pcie_common.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.8.0-1004-raspi/Makefile:1926: /home/jpmeijers/hailort-drivers/linux/pcie] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-1004-raspi'
make: *** [Makefile:93: all] Error 2

A PR to fix this has been created: Add missing function definition by jpm-canonical · Pull Request #17 · hailo-ai/hailort-drivers · GitHub