On 2/3/2020 3:02 PM, Matan Azrad wrote: > > > From: Ferruh Yigit >> On 2/2/2020 3:59 PM, Matan Azrad wrote: >>> The new RDMA-CORE versions may have the same sub-path to include the >>> linux Netlink header file. >>> >>> It uses the pre-proccessor command #include_next what breaks the PMD >>> gcc compilation of common/mlx5_netlink.h file in debug mode. >>> >>> Use specific include for linux/netlink.h to be taken from >>> /usr/include/linux. >>> >>> Signed-off-by: Matan Azrad <ma...@mellanox.com> >>> --- >>> drivers/common/mlx5/mlx5_nl.h | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/common/mlx5/mlx5_nl.h >>> b/drivers/common/mlx5/mlx5_nl.h index 2c3f837..ebaa655 100644 >>> --- a/drivers/common/mlx5/mlx5_nl.h >>> +++ b/drivers/common/mlx5/mlx5_nl.h >>> @@ -5,7 +5,7 @@ >>> #ifndef RTE_PMD_MLX5_NL_H_ >>> #define RTE_PMD_MLX5_NL_H_ >>> >>> -#include <linux/netlink.h> >>> +#include "/usr/include/linux/netlink.h" >> >> It is odd to change the include to the exact path, can't this be fixed other >> way, can you please give more details on the issue and the macro etc..? > > I tried to find other solution but didn't find. > > As I wrote in commit log, the #include_next (from RDMA-CORE) is not compiled > when we compile with mlx5 debug mode (pedantic). > The error is " error: #include_next is a GCC extension [-Werror]" > Even If I wrap the relevant include line to disable pedantic it is not > compiled with gcc. > > So, I changed to include specific path from the linux headers. Is there another "linux/netlink.h" in the rdma-core? In which version, I can't find it.
Isn't rdma libraries/header installed into system folders? Are you providing -I to include a custom path, does it work if you provide it as '-idirafter' instead? Please provide more details than commit log... > > Do you have other suggestion? drop 'pedantic'? Why mlx drivers are using it?