Comment 1 for bug 1827102

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

5.1 is not even in proposed yet.
So I used 5.1.0-050100rc7 from [1] mainline builds.

$ sudo apt install dpdk-rte-kni-dkms
[...]
This reproduces the build error

The actual error is:
$ cat /var/lib/dkms/dpdk-rte-kni/18.11/build/make.log
DKMS make.log for dpdk-rte-kni-18.11 for kernel 5.1.0-050100rc7-generic (x86_64)
Fri May 3 07:11:49 UTC 2019
make: Entering directory '/usr/src/linux-headers-5.1.0-050100rc7-generic'
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/kni_net.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/kni_misc.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/kni_ethtool.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_ethtool.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_82598.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_api.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_x540.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_common.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_phy.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_main.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/kcompat.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_82599.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/e1000_82575.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/e1000_i210.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/e1000_api.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/igb_main.o
/usr/src/dpdk-rte-kni-18.11/ethtool/igb/igb_main.c:2346:18: error: initialization of ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, struct netlink_ext_ack *)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int, struct netlink_ext_ack *)’} from incompatible pointer type ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int)’} [-Werror=incompatible-pointer-types]
  .ndo_fdb_add = igb_ndo_fdb_add,
                  ^~~~~~~~~~~~~~~
/usr/src/dpdk-rte-kni-18.11/ethtool/igb/igb_main.c:2346:18: note: (near initialization for ‘igb_netdev_ops.ndo_fdb_add’)
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:276: /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/igb_main.o] Error 1
make: *** [Makefile:1571: _module_/var/lib/dkms/dpdk-rte-kni/18.11/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.1.0-050100rc7-generic'

The fix will be to backport the recent upstream commit [2].
This fix will most likely be in 18.11.2 and 19.08 but those are both not released for a while.

@Seth - how much time or urgency do we have with that right now?

[1]: https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.1-rc7/
[2]: https://git.dpdk.org/dpdk/commit/?id=db9178c24c1643b5ef58f2a9ff87c3eef8e0e1e4