The makefile in drivers/bus/pci specified rte_ethdev as a dependency for the library. However there are no actual symbols from librte_ethdev used in librte_bus_pci.
Including librte_ethdev as a dependency only becomes a problem in some niche cases like when attempting to build the rte_bus_pci library as a shared object without building the rte_ethdev library. I specifically ran into this when trying to build the DPDK included as an SPDK submodule on a FreeBSD machine. I figure that since there are no real dependencies between the two, we should enable building librte_bus_pci without librte_ethdev. Signed-off-by: Seth Howell <seth.how...@intel.com> --- drivers/bus/pci/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/bus/pci/Makefile b/drivers/bus/pci/Makefile index 68c1f3fde..45d12427a 100644 --- a/drivers/bus/pci/Makefile +++ b/drivers/bus/pci/Makefile @@ -25,7 +25,7 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common CFLAGS += -DALLOW_EXPERIMENTAL_API LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -LDLIBS += -lrte_ethdev -lrte_pci -lrte_kvargs +LDLIBS += -lrte_pci -lrte_kvargs include $(RTE_SDK)/drivers/bus/pci/$(SYSTEM)/Makefile SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) := $(addprefix $(SYSTEM)/,$(SRCS)) -- 2.17.2