Re: [dpdk-dev] [PATCH v2 20/33] mlx5/windows: add mlx5 meson file
From: Tal Shnaiderman <hidden>
Date: 2020-12-12 02:34:32
Subject: Re: [dpdk-dev] [PATCH v2 20/33] mlx5/windows: add mlx5 meson file External email: Use caution opening links or attachments On Thu, 10 Dec 2020 17:06:35 +0200, Tal Shnaiderman wrote:quoted
File drivers/common/mlx5/windows/meson.build is added to enable mlx5 source files compilation under common windows directory. A Devx SDK tool must be installed to export two external H files: mlx5devx.h and mlx5_ifc_devx.h. The installation is based on environment variable DEVX_INC_PATH. In addition a DLL lib file is installed based on environment variable DEVX_LIB_PATH. The meson file is using the environment variables for compilation and linkage.I installed WinOF-2 for Windows Server 2019 from this page: https://www.mellanox.com/products/adapter- software/ethernet/windows/winof-2 Then I installed DevX SDK from C:\Program Files\Mellanox\DevX SDK and set environment variables: $env:DEVX_INC_PATH = "C:\Program Files\Mellanox\MLNX_WinOF2_DevX_SDK\inc" $env:DEVX_LIB_PATH = "C:\Program Files\Mellanox\MLNX_WinOF2_DevX_SDK\lib" Meson complained no more, but the build failed, log is below. What am I missing? Note: I'm building the whole series.
Thanks for testing Dmitry, this is an patches order issue on my side, the common build patch should come in the next series. I'll fix in v3.
Another question, why there's a clang restriction?
On the current release we've ported and tested the PMD and SDK for clang, once we'll do the same for MinGW64 we'll remove this restriction.
[149/203] Compiling C object
drivers/a715181@@rte_common_mlx5@sta/common_mlx5_mlx5_common
.c.obj.
FAILED:
drivers/a715181@@rte_common_mlx5@sta/common_mlx5_mlx5_common
.c.obj
clang
@drivers/a715181@@rte_common_mlx5@sta/common_mlx5_mlx5_comm
on.c.obj.rsp
In file included from ../../drivers/common/mlx5/mlx5_common.c:13:
In file included from ..\..\drivers\common/mlx5/mlx5_common.h:18:
..\..\drivers\common/mlx5/mlx5_prm.h:363:31: error: field has incomplete
type 'struct mlx5_wqe_srq_next_seg'
struct mlx5_wqe_srq_next_seg next_seg;
^
..\..\drivers\common/mlx5/mlx5_prm.h:363:9: note: forward declaration of
'struct mlx5_wqe_srq_next_seg'
struct mlx5_wqe_srq_next_seg next_seg;
^
..\..\drivers\common/mlx5/mlx5_prm.h:364:27: error: field has incomplete
type 'struct mlx5_wqe_data_seg'
struct mlx5_wqe_data_seg dseg;
^
..\..\drivers\common/mlx5/mlx5_prm.h:364:9: note: forward declaration of
'struct mlx5_wqe_data_seg'
struct mlx5_wqe_data_seg dseg;
^
In file included from ../../drivers/common/mlx5/mlx5_common.c:14:
In file included from
..\..\drivers\common/mlx5\windows\mlx5_common_os.h:15:
In file included from ..\..\drivers\common/mlx5\mlx5_common_mr.h:19:
..\..\drivers\common/mlx5/mlx5_common_mp.h:29:7: warning: forward
references to 'enum' types are a Microsoft extension [-Wmicrosoft-enum-
forward-reference]
enum ibv_wq_state state; /* WQ requested state. */
^
In file included from ../../drivers/common/mlx5/mlx5_common.c:14:
In file included from
..\..\drivers\common/mlx5\windows\mlx5_common_os.h:16:
In file included from
..\..\drivers\common/mlx5\windows/mlx5_win_ext.h:12:
In file included from C:\Program
Files\Mellanox\MLNX_WinOF2_DevX_SDK\inc\mlx5devx.h:26:
C:\Program
Files\Mellanox\MLNX_WinOF2_DevX_SDK\inc/mlx5_ifc_devx.h:95:45: error:
field has incomplete type 'struct mlx5_ifc_dest_format_struct_bits'
struct mlx5_ifc_dest_format_struct_bits dest;
^ C:\Program
Files\Mellanox\MLNX_WinOF2_DevX_SDK\inc/mlx5_ifc_devx.h:95:12: note:
forward declaration of 'struct mlx5_ifc_dest_format_struct_bits'
struct mlx5_ifc_dest_format_struct_bits dest;
^
../../drivers/common/mlx5/mlx5_common.c:323:15: warning: implicit
declaration of function 'mlx5_os_get_devx_uar_base_addr' is invalid in C99
[-Wimplicit-function-declaration]
base_addr = mlx5_os_get_devx_uar_base_addr(uar);
^
../../drivers/common/mlx5/mlx5_common.c:323:13: warning: incompatible
integer to pointer conversion assigning to 'void *' from 'int' [-Wint-
conversion]
base_addr = mlx5_os_get_devx_uar_base_addr(uar);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings and 3 errors generated.
[151/203] Compiling C object
drivers/a715181@@rte_common_mlx5@sta/common_mlx5_mlx5_malloc.c.
obj.
FAILED:
drivers/a715181@@rte_common_mlx5@sta/common_mlx5_mlx5_malloc.c.
obj
clang
@drivers/a715181@@rte_common_mlx5@sta/common_mlx5_mlx5_malloc.
c.obj.rsp
In file included from ../../drivers/common/mlx5/mlx5_malloc.c:11:
In file included from ..\..\drivers\common/mlx5/mlx5_common_utils.h:8:
In file included from ..\..\drivers\common/mlx5/mlx5_common.h:18:
..\..\drivers\common/mlx5/mlx5_prm.h:363:31: error: field has incomplete
type 'struct mlx5_wqe_srq_next_seg'
struct mlx5_wqe_srq_next_seg next_seg;
^
..\..\drivers\common/mlx5/mlx5_prm.h:363:9: note: forward declaration of
'struct mlx5_wqe_srq_next_seg'
struct mlx5_wqe_srq_next_seg next_seg;
^
..\..\drivers\common/mlx5/mlx5_prm.h:364:27: error: field has incomplete
type 'struct mlx5_wqe_data_seg'
struct mlx5_wqe_data_seg dseg;
^
..\..\drivers\common/mlx5/mlx5_prm.h:364:9: note: forward declaration of
'struct mlx5_wqe_data_seg'
struct mlx5_wqe_data_seg dseg;
^
In file included from ../../drivers/common/mlx5/mlx5_malloc.c:12:
In file included from
..\..\drivers\common/mlx5\windows\mlx5_common_os.h:15:
In file included from ..\..\drivers\common/mlx5\mlx5_common_mr.h:19:
..\..\drivers\common/mlx5/mlx5_common_mp.h:29:7: warning: forward
references to 'enum' types are a Microsoft extension [-Wmicrosoft-enum-
forward-reference]
enum ibv_wq_state state; /* WQ requested state. */
^
In file included from ../../drivers/common/mlx5/mlx5_malloc.c:12:
In file included from
..\..\drivers\common/mlx5\windows\mlx5_common_os.h:16:
In file included from
..\..\drivers\common/mlx5\windows/mlx5_win_ext.h:12:
In file included from C:\Program
Files\Mellanox\MLNX_WinOF2_DevX_SDK\inc\mlx5devx.h:26:
C:\Program
Files\Mellanox\MLNX_WinOF2_DevX_SDK\inc/mlx5_ifc_devx.h:95:45: error:
field has incomplete type 'struct mlx5_ifc_dest_format_struct_bits'
struct mlx5_ifc_dest_format_struct_bits dest;
^ C:\Program
Files\Mellanox\MLNX_WinOF2_DevX_SDK\inc/mlx5_ifc_devx.h:95:12: note:
forward declaration of 'struct mlx5_ifc_dest_format_struct_bits'
struct mlx5_ifc_dest_format_struct_bits dest;
^
1 warning and 3 errors generated.
[154/203] Compiling C object
lib/76b5a35@@rte_hash@sta/librte_hash_rte_cuckoo_hash.c.obj.
ninja: build stopped: subcommand failed.