The variable CONFIG_RTE_BUILD_SHARED_LIB was in rte.app.mk as "RTE_BUILD_SHARED_LIB", which meant that none of the example apps linked in the PMDs and just didn't work with any eth ports in any static builds
Link for l2fwd before patch: "... -Wl,--whole-archive -Wl,-lrte_kni -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_lpm -Wl,-lrte_power -Wl,-lrte_meter -Wl,-lrte_sched -Wl,-lm -Wl,-lrt -Wl,--start-group -Wl,-lrte_kvargs -Wl,-lrte_mbuf -Wl,-lethdev -Wl,-lrte_malloc -Wl,-lrte_mempool -Wl,-lrte_ring -Wl,-lrte_eal -Wl,-lrte_cmdline -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive" Link for l2fwd after patch: "... -Wl,--whole-archive -Wl,-lrte_kni -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_lpm -Wl,-lrte_power -Wl,-lrte_meter -Wl,-lrte_sched -Wl,-lm -Wl,-lrt -Wl,--start-group -Wl,-lrte_kvargs -Wl,-lrte_mbuf -Wl,-lethdev -Wl,-lrte_malloc -Wl,-lrte_mempool -Wl,-lrte_ring -Wl,-lrte_eal -Wl,-lrte_cmdline -Wl,-lrte_pmd_vmxnet3_uio -Wl,-lrte_pmd_virtio_uio -Wl,-lrte_pmd_ixgbe -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ring -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive" Signed-off-by: Bruce Richardson <bruce.richardson at intel.com> --- mk/rte.app.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 3cc3299..f724c07 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -167,7 +167,7 @@ LDLIBS += -lrte_pmd_xenvirt LDLIBS += -lxenstore endif -ifeq ($(RTE_BUILD_SHARED_LIB),n) +ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n) ifeq ($(CONFIG_RTE_LIBRTE_VMXNET3_PMD),y) LDLIBS += -lrte_pmd_vmxnet3_uio -- 1.9.0