On Tue, Jul 02, 2019 at 09:57:48AM +0200, Thomas Monjalon wrote: > 17/05/2019 13:47, Bruce Richardson: > > The vdpa example app did not check for a libdpdk pkg-config file and > > attempt to build using that. Add support for that method of compile to > > align the app with the other examples. > > I see an issue with the experimental tag: > > clang -Wp,-MD,./.main.o.d.tmp -m64 -pthread -fPIC > -Ilib/librte_eal/linux/eal/include -march=native -DRTE_MACHINE_CPUFLAG_SSE > -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 > -DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 > -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHINE_CPUFLAG_AES > -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX > -DRTE_MACHINE_CPUFLAG_RDRAND -DRTE_MACHINE_CPUFLAG_RDSEED > -DRTE_MACHINE_CPUFLAG_FSGSBASE -DRTE_MACHINE_CPUFLAG_F16C > -DRTE_MACHINE_CPUFLAG_AVX2 > -Ix86_64-native-linux-clang+shared+next+debug+ASSERT/examples/vdpa/x86_64-native-linux-clang+shared+next+debug+ASSERT/include > -Ix86_64-native-linux-clang+shared+next+debug+ASSERT/include -include > x86_64-native-linux-clang+shared+next+debug+ASSERT/include/rte_config.h > -D_GNU_SOURCE -O2 -D_FILE_OFFSET_BITS=64 -W -Wall -Wstrict-prototypes > -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition > -Wpointer-arith -Wnested-externs -Wcast-qual -Wformat-nonliteral > -Wformat-security -Wundef -Wwrite-strings -Wdeprecated -Werror > -Wno-missing-field-initializers -Wno-address-of-packed-member -D_GNU_SOURCE > -o main.o -c examples/vdpa/main.c > examples/vdpa/main.c:172:8: error: 'rte_vhost_driver_attach_vdpa_device' is > deprecated: Symbol is not yet part of stable ABI > [-Werror,-Wdeprecated-declarations] > > It seems "CFLAGS += -DALLOW_EXPERIMENTAL_API" > is reset by the call to pkg-config. >
No, it's not, it's reset by the call to the DPDK make build system in the other leg of the code. I'll fix this in the Makefile in v3. > > +build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build > > Better to use the real directory name as prerequisite, > instead of "build". > Not sure what you mean here, build is the name of the directory. [This is also consistent with what is done in all the other example makefiles. If it needs updating, then it should be done as a general patch to all examples in 19.11 release timeframe.] /Bruce