On Fri, 18 Dec 2020 23:38:28 +0100 Justin Tallon <[email protected]> wrote:
> Hey guys, > > We are trying to use dpdk (dpdk-stable-18.08.1) as a shared library. > > We have recompiled as a shared library by setting > *CONFIG_RTE_BUILD_SHARED_LIB=y* > > My program compiles file and I can see the relevant libraries when I use > ldd on the binary. > > I direct my binary look in the correct place by using export > LD_LIBRARY_PATH and the binary appears to find the libraries. > However, when the function rte_eth_dev_count_avail returns it returns a 0 > and exits, when I run the same program with static libraries, it works > correctly. > > Any help on this would be great! > > Regards, > Justin > > > ____ > Justin Tallon Ph.D. > > Software Radio Systems (SRS) > http://www.softwareradiosystems.com > > +353-86-067-0753 | [email protected] When used as a shared library DPDK does not automatically load any required poll mode driver libraries. You have to pass -d flag to make it load what you want. I consider this a bug (others do not), and think the DPDK should have a table mapping PCI device id to the PMD shared library and automatically load the PMD shared library (like the Linux kernel module autoloading works).
