Hey Stephen, Thanks for the response, I have passed the directory of the dpdk library as you said with the -d flag.
However, when I did this, I get the following error. libdpdk.so: invalid ELF header any help with this would be appreciated. Regards, Justin ____ Justin Tallon Ph.D. Software Radio Systems (SRS) http://www.softwareradiosystems.com +353-86-067-0753 | [email protected] On Sat, Dec 19, 2020 at 8:27 PM Stephen Hemminger < [email protected]> wrote: > 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). > >
