Unable to install MLNX_OFED 4.5.1.0.1.0 on Fedora 28

I am trying to install MLNX_OFED 4.5-1.0.1.0 on a Fedora 28 machine. The kernel version is 4.20.17-100.fc28.x86_64. Running the mlnxofedinstall gives the following error message and:

The 4.20.17-100.fc28.x86_64 kernel is installed, MLNX_OFED_LINUX does not have drivers available for this kernel.

Running the mlnx_add_kernel_support.sh using the below command

./mlnx_add_kernel_support.sh -m /path/to/MLNX_OFED_LINUX-4.5-1.0.1.0-fc28-x86_64/ --kernel 4.20.17-100.fc28.x86_64 --make-tgz

also fails with error messages

Failed to build mlnx-ofa_kernel 4.5 RPM

and looking at the rpm build log for errors gives these logs

/tmp/mlnx_iso.25438/OFED_topdir/BUILD/mlnx-ofa_kernel-4.5/obj/default/drivers/net/ethernet/mellanox/mlx5/core/main.c:1766:22: error: initialization of ‘int (*)(struct devlink *, u16, struct netlink_ext_ack )’ {aka 'int ()(struct devlink *, short unsigned int, struct netlink_ext_ack )'} from incompatible pointer type 'int ()(struct devlink , u16)’ {aka 'int ()(struct devlink *, short unsigned int)’} [-Werror=incompatible-pointer-types]

.eswitch_mode_set = mlx5_devlink_eswitch_mode_set,

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/tmp/mlnx_iso.25438/OFED_topdir/BUILD/mlnx-ofa_kernel-4.5/obj/default/drivers/net/ethernet/mellanox/mlx5/core/main.c:1766:22: note: (near initialization for ‘mlx5_devlink_ops.eswitch_mode_set’)

/tmp/mlnx_iso.25438/OFED_topdir/BUILD/mlnx-ofa_kernel-4.5/obj/default/drivers/net/ethernet/mellanox/mlx5/core/main.c:1770:29: error: initialization of ‘int (*)(struct devlink *, u8, struct netlink_ext_ack )’ {aka 'int ()(struct devlink *, unsigned char, struct netlink_ext_ack )'} from incompatible pointer type 'int ()(struct devlink , u8)’ {aka 'int ()(struct devlink *, unsigned char)’} [-Werror=incompatible-pointer-types]

.eswitch_inline_mode_set = mlx5_devlink_eswitch_inline_mode_set,

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/tmp/mlnx_iso.25438/OFED_topdir/BUILD/mlnx-ofa_kernel-4.5/obj/default/drivers/net/ethernet/mellanox/mlx5/core/main.c:1770:29: note: (near initialization for ‘mlx5_devlink_ops.eswitch_inline_mode_set’)

/tmp/mlnx_iso.25438/OFED_topdir/BUILD/mlnx-ofa_kernel-4.5/obj/default/drivers/net/ethernet/mellanox/mlx5/core/main.c:1774:28: error: initialization of ‘int (*)(struct devlink *, u8, struct netlink_ext_ack )’ {aka 'int ()(struct devlink *, unsigned char, struct netlink_ext_ack )'} from incompatible pointer type 'int ()(struct devlink , u8)’ {aka 'int ()(struct devlink *, unsigned char)’} [-Werror=incompatible-pointer-types]

.eswitch_encap_mode_set = mlx5_devlink_eswitch_encap_mode_set,

and also some of these logs

/tmp/mlnx_iso.25438/OFED_topdir/BUILD/mlnx-ofa_kernel-4.5/obj/default/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c:387:3: error: ‘const struct ethtool_ops’ has no member named ‘get_settings’; did you mean ‘get_strings’?

.get_settings = ipoib_get_settings,

^~~~~~~~~~~~

get_strings

What can be done to fix these errors? Also what is the officially supported kernel version by MLNX_OFED 4.5.1.0.1.0 ?

Hi Sumit,

Please note that Upstream Kernel 4.20 is supported from MLNX_OFED 4.6 and above.

https://docs.mellanox.com/display/MLNXOFEDv461000/General+Support+in+MLNX_OFED

MLNX_OFED 4.5 supports kernel 4.14-4.19

Thanks,

Samer

Thanks Samer, I have tested the installation of MLNX_OFED 4.5 on kernel 4.17.0 and it works fine with it.