On Wed, Jun 24, 2020 at 05:56:20PM +0300, tal...@mellanox.com wrote: > From: Tal Shnaiderman <tal...@mellanox.com> > > Add needed function calls in rte_eal_init to detect vdev PMD. > > eal_option_device_parse() > rte_service_init() > rte_bus_probe() > > Signed-off-by: Tal Shnaiderman <tal...@mellanox.com> > --- > lib/librte_eal/common/meson.build | 1 + > lib/librte_eal/windows/eal.c | 19 +++++++++++++++++++ > 2 files changed, 20 insertions(+) > > diff --git a/lib/librte_eal/common/meson.build > b/lib/librte_eal/common/meson.build
Implicit declaration warning: ../lib/librte_eal/windows/eal.c:371:6: warning: implicit declaration of function 'rte_service_init' is invalid in C99 [-Wimplicit-function-declaration] if (rte_service_init()) { ^ 1 warning generated. Adding "#include <rte_service_component.h>" in windows/eal.c should solve it. Getting some linker error: Creating library drivers\librte_bus_vdev.dll.a and object drivers\librte_bus_vdev.dll.exp bus_vdev_vdev.c.obj : error LNK2019: unresolved external symbol rte_log_register_type_and_pick_level referenced in function __vdev_logtype_bus drivers\librte_bus_vdev-0.200.3.dll : fatal error LNK1120: 1 unresolved externals Probably just a missing export for "rte_log_register_type_and_pick_level" in rte_eal_exports.def? After adding the missing include and export, compilation and linking are successful. I see some errors when running the app though: EAL: error allocating rte services array EAL: FATAL: rte_service_init() failed EAL: rte_service_init() failed PANIC in main(): Cannot init EAL 6: [<unknown> (RtlUserThreadStart+0x21)[0x7FFACF283460]] 5: [<unknown> (BaseThreadInitThunk+0x14)[0x7FFACE7A6DF0]] 4: [<missing_symbols>] 3: [<missing_symbols>] 2: [<missing_symbols>] 1: [<missing_symbols>]