9ff791eff6
When checking the loading of EAL shared lib to see if we have a shared DPDK build, we only want to include part of the ABI version in the check rather than the whole thing. For example, with ABI version 21.1 for DPDK release 21.02, the linker links the binary against librte_eal.so.21, without the ".1". To avoid any further brittleness in this area, we can check for multiple versions when doing the check, since just about any version of EAL implies a shared build. Therefore we check for presence of librte_eal.so with full ABI_VERSION extension, and then repeatedly remove the end part of the filename after the last dot, checking each time. For example (debug log output for static build): EAL: Checking presence of .so 'librte_eal.so.21.1' EAL: Checking presence of .so 'librte_eal.so.21' EAL: Checking presence of .so 'librte_eal.so' EAL: Detected static linkage of DPDK Fixes: 7781950f4d38 ("eal: fix shared lib mode detection") Cc: stable@dpdk.org Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Sunil Pai G <sunil.pai.g@intel.com>