24/05/2019 19:11, Stephen Hemminger: > On Fri, 24 May 2019 19:05:20 +0200 > Thomas Monjalon <tho...@monjalon.net> wrote: > > > > > > device drivers on Hyper-V/Azure. If the build system supported > > > > > dependencies > > > > > (like Linux kbuild) this would not be necessary. Meson only does > > > > > dynamic dependencies > > > > > so that doesn't help. > > > > > > > > > > This is a warning and not fatal only because application will still at > > > > > least run, and somebody may want to run with SR-IOV with Intel NIC's > > > > > on Hyper-V. > > > > > > > > > > > > > > > The warning is just to give users better immediate feedback rather > > > > > than > > > > > trying to diagnose poor performance or mystery device not found > > > > > messages. > > > > > > > > > > > > It really looks strange to me. > > > > What you need is to fail at compilation if requested PMD is not built. > > > > I would advise to work on a script to configure meson. > > > > > > None of the people that ran into this were using meson build. > > > For example, VPP doesn't use meson. > > > > They will use meson when makefile will be removed :) > > > > Anyway, no matter the build system, what we want is a way > > to guide users to a proper DPDK installation. > > Your solution is to add some very specific logs. > > My proposal is to guide the user with a script and some > > specific parameters so it will fail if a required dependency is not met. > > Not familiar enough with meson magic syntax to make vdev_netvsc not build > without MLX. But that would just be pushing the mystery failure further > down the road.
I think you did not understand my proposal. Let's take an example. You give this instruction to build DPDK: buildtools/build-require.sh vdev_netvsc mlx4 If mlx4 is not built then it will fail with this message: librte_pmd_mlx4 failed to build So the user knows what went wrong. No mystery. > Another alternative would be to drop vdev_netvsc from the default Linux > build. That way users would have to enable it manually. > > My preferred solution would be to just kill vdev_netvsc and go to only netvsc > PMD > but that is a couple releases away.