devtools: add path to additional shared object files
authorRuifeng Wang <ruifeng.wang@arm.com>
Mon, 13 Jan 2020 06:26:05 +0000 (14:26 +0800)
committerDavid Marchand <david.marchand@redhat.com>
Tue, 14 Jan 2020 08:45:23 +0000 (09:45 +0100)
Drivers librte_mempool_ring.so and librte_pmd_null.so are loaded by
librte_eal.so when running testpmd.
In Ubuntu Xenial, driver path is installed to RPATH on testpmd. This
allows librte_eal.so to find drivers by using the RPATH.
However, in Ubuntu Bionic, driver path is installed to RUNPATH instead.
The RUNPATH on testpmd is not available by librte_eal.so and therefore
lead to driver load failure:

EAL: Detected 32 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: librte_mempool_ring.so: cannot open shared object file:
No such file or directory
EAL: FATAL: Cannot init plugins
EAL: Cannot init plugins

Add 'drivers' into LD_LIBRARY_PATH so that testpmd can find and make
use of these shared libraries.

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Aaron Conole <aconole@redhat.com>
devtools/test-null.sh

index f39af2c..548de81 100755 (executable)
@@ -20,7 +20,7 @@ if [ ! -f "$testpmd" ] ; then
 fi
 
 if ldd $testpmd | grep -q librte_ ; then
-       export LD_LIBRARY_PATH=$build/lib:$LD_LIBRARY_PATH
+       export LD_LIBRARY_PATH=$build/drivers:$build/lib:$LD_LIBRARY_PATH
        libs='-d librte_mempool_ring.so -d librte_pmd_null.so'
 else
        libs=