acooks / tn40xx-driver

Linux driver for tn40xx from Tehuti Networks
71 stars 50 forks source link

Issues with Debian 11 Installation with pve-headers #53

Closed devadattas closed 1 year ago

devadattas commented 1 year ago

I get the following error when performing a dkms installation as per the following command:


Command:

dkms install -m tn40xx -v 004

Output:


Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j64 KERNELRELEASE=5.15.53-1-pve -C /lib/modules/5.15.53-1-pve/build M=/var/lib/dkms/tn40xx/004/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.15.53-1-pve (x86_64)
Consult /var/lib/dkms/tn40xx/004/build/make.log for more information.

Command:

cat /var/lib/dkms/tn40xx/004/build/make.log

Output:

DKMS make.log for tn40xx-004 for kernel 5.15.53-1-pve (x86_64)
Sat 10 Sep 2022 09:06:46 AM IST
make: Entering directory '/usr/src/linux-headers-5.15.53-1-pve'
  CC [M]  /var/lib/dkms/tn40xx/004/build/tn40.o
  CC [M]  /var/lib/dkms/tn40xx/004/build/CX4.o
  CC [M]  /var/lib/dkms/tn40xx/004/build/CX4_Linux.o
  CC [M]  /var/lib/dkms/tn40xx/004/build/QT2025_phy.o
  CC [M]  /var/lib/dkms/tn40xx/004/build/QT2025_phy_Linux.o
  CC [M]  /var/lib/dkms/tn40xx/004/build/TLK10232_phy.o
  CC [M]  /var/lib/dkms/tn40xx/004/build/TLK10232_phy_Linux.o
  CC [M]  /var/lib/dkms/tn40xx/004/build/AQR105_phy.o
  CC [M]  /var/lib/dkms/tn40xx/004/build/AQR105_phy_Linux.o
/var/lib/dkms/tn40xx/004/build/tn40.c:3877:11: warning: 'struct kernel_ethtool_ringparam' declared inside parameter list will not be visible outside of this definition or declaration
 3877 |    struct kernel_ethtool_ringparam *kernel_ering,
      |           ^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/tn40xx/004/build/tn40.c:3898:11: warning: 'struct kernel_ethtool_ringparam' declared inside parameter list will not be visible outside of this definition or declaration
 3898 |    struct kernel_ethtool_ringparam *kernel_ering,
      |           ^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/tn40xx/004/build/tn40.c: In function 'bdx_ethtool_ops':
/var/lib/dkms/tn40xx/004/build/tn40.c:4113:20: error: initialization of 'void (*)(struct net_device *, struct ethtool_ringparam *)' from incompatible pointer type 'void (*)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *)' [-Werror=incompatible-pointer-types]
 4113 |   .get_ringparam = bdx_get_ringparam,
      |                    ^~~~~~~~~~~~~~~~~
/var/lib/dkms/tn40xx/004/build/tn40.c:4113:20: note: (near initialization for 'bdx_ethtool_ops.get_ringparam')
/var/lib/dkms/tn40xx/004/build/tn40.c:4114:20: error: initialization of 'int (*)(struct net_device *, struct ethtool_ringparam *)' from incompatible pointer type 'int (*)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *)' [-Werror=incompatible-pointer-types]
 4114 |   .set_ringparam = bdx_set_ringparam,
      |                    ^~~~~~~~~~~~~~~~~
/var/lib/dkms/tn40xx/004/build/tn40.c:4114:20: note: (near initialization for 'bdx_ethtool_ops.set_ringparam')
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:297: /var/lib/dkms/tn40xx/004/build/tn40.o] Error 1
make: *** [Makefile:1884: /var/lib/dkms/tn40xx/004/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.15.53-1-pve'

The same error appears for make command as well:


Command:

cd /usr/src/tn40xx-004/
make

Output:

make -C /lib/modules/5.15.53-1-pve/build M=/usr/src/tn40xx-004 clean
make[1]: Entering directory '/usr/src/linux-headers-5.15.53-1-pve'
make[1]: Leaving directory '/usr/src/linux-headers-5.15.53-1-pve'
Building kernel 5.15.53-1-pve resume supported
make -C /lib/modules/5.15.53-1-pve/build M=/usr/src/tn40xx-004 modules 
make[1]: Entering directory '/usr/src/linux-headers-5.15.53-1-pve'
  CC [M]  /usr/src/tn40xx-004/tn40.o
/usr/src/tn40xx-004/tn40.c:3877:11: warning: 'struct kernel_ethtool_ringparam' declared inside parameter list will not be visible outside of this definition or declaration
 3877 |    struct kernel_ethtool_ringparam *kernel_ering,
      |           ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/tn40xx-004/tn40.c:3898:11: warning: 'struct kernel_ethtool_ringparam' declared inside parameter list will not be visible outside of this definition or declaration
 3898 |    struct kernel_ethtool_ringparam *kernel_ering,
      |           ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/tn40xx-004/tn40.c: In function 'bdx_ethtool_ops':
/usr/src/tn40xx-004/tn40.c:4113:20: error: initialization of 'void (*)(struct net_device *, struct ethtool_ringparam *)' from incompatible pointer type 'void (*)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *)' [-Werror=incompatible-pointer-types]
 4113 |   .get_ringparam = bdx_get_ringparam,
      |                    ^~~~~~~~~~~~~~~~~
/usr/src/tn40xx-004/tn40.c:4113:20: note: (near initialization for 'bdx_ethtool_ops.get_ringparam')
/usr/src/tn40xx-004/tn40.c:4114:20: error: initialization of 'int (*)(struct net_device *, struct ethtool_ringparam *)' from incompatible pointer type 'int (*)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *)' [-Werror=incompatible-pointer-types]
 4114 |   .set_ringparam = bdx_set_ringparam,
      |                    ^~~~~~~~~~~~~~~~~
/usr/src/tn40xx-004/tn40.c:4114:20: note: (near initialization for 'bdx_ethtool_ops.set_ringparam')
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:297: /usr/src/tn40xx-004/tn40.o] Error 1
make[1]: *** [Makefile:1884: /usr/src/tn40xx-004] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.53-1-pve'
make: *** [Makefile:147: all] Error 2

devadattas commented 1 year ago

Solved using https://github.com/acooks/tn40xx-driver/issues/47#issuecomment-1146773646