[v4,1/2] devtools: add path to additional shared object files

Message ID 20200110095350.80925-2-ruifeng.wang@arm.com (mailing list archive)
State Superseded, archived
Delegated to: David Marchand
Headers
Series add travis ci support for aarch64 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Ruifeng Wang Jan. 10, 2020, 9:53 a.m. UTC
  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>
---
 devtools/test-null.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Aaron Conole Jan. 10, 2020, 3:03 p.m. UTC | #1
Ruifeng Wang <ruifeng.wang@arm.com> writes:

> 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>
  

Patch

diff --git a/devtools/test-null.sh b/devtools/test-null.sh
index f39af2c06..548de8113 100755
--- a/devtools/test-null.sh
+++ b/devtools/test-null.sh
@@ -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=