25/05/2019 00:06, Stephen Hemminger: > On Fri, 24 May 2019 19:32:14 +0200 > Thomas Monjalon <tho...@monjalon.net> wrote: > > 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 > > There is no build-require.sh now and introducing yet another tool > is not going to help.
I disagree. I think we are missing this tool. > > 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. > > Let's just fix the meson.build for now to skip vdev_netvsc unless both mlx4 > and mlx5 are present. This is not a fix but a hack. Why vdev_netvsc would need mlx PMDs? Because it is the Azure config? > The Makefile can just remain untouched. > The people with problem are on older releases anyway. So any attempt to fix > the Makefiles won't help those on 18.02, etc.