On Wed, 26 May 2021 12:41:21 -0700 Sudharshan Krishnakumar <[email protected]> wrote:
> Hi Stephen, > > Normal for dynamically linked shared libraries, linker should load the > dependant libraries > based on library path under-> /etc/ld.so.conf.d$ cat x86_64-linux-gnu.conf > # Multiarch support > /usr/local/lib/x86_64-linux-gnu > /lib/x86_64-linux-gnu > /usr/lib/x86_64-linux-gnu > > I do have the /usr/local/lib/x86* path, which is where DPDK 20.11 > shared(*.so) libraries have been installed. > But during launch of application, application does not seem to load those > libraries. Normally this method works. > Is this a DPDK issue. > > In any case, I followed your suggestion, did ldd -v packet_ordering-shared, > to get the dependencies, and manually passed the > paths to the application, but there is another error now-> MBUF: error > setting mempool handler > That is true for normal linked in libraries (ie what ldd shows). The DPDK is doing explicit dlopen to load poll-mode-drivers. I would prefer that DPDK was smarter in this area (more like the Linux kernel) so that it could have a catalog of PCI device vendor/id table and automatically load the PMD; but that capability is not part of the current versions. You have to do use -d to load the right .so
