On Fri, Mar 18, 2016 at 04:40:28PM -0700, Cliff Burdick wrote: > In regards to your fix above, how does this change the probing behavior? It > seems that it's just combining all the .a files into a single library, > right?
Without these link flags, the constructor functions, which cause ethdev drivers to register themselves as probe-able via PCI, do not get invoked during library load-time, and the probing always screws up, finding zero working Ethernet ports. > I still needed to include that whole lost if -D options that the > examples use, or it still didn't seem to probe the bus. I must be missing > something else as well. If you have to pass all these -DRTE_MACHINE_* it is most frequently caused by an outdated C / C++ compiler. The most recent report of it, which I witnessed, then saw reported by a second party on the DPDK mailing list, was caused by a branch of clang which was too old to enable the correct accelerations for the Haswell, Broadwell, and Skylake series. The other thing could be you didn't pull in the rte_config.h using -include $(RTE_INCLUDE)/rte_config.h and -isystem$(RTE_INCLUDE). Matthew.
