[dpdk-dev] [PATCH 2/2] devtools: add path to additional shared object files

Laatz, Kevin kevin.laatz at intel.com
Wed Dec 18 14:43:40 CET 2019


On 18/12/2019 08:23, David Marchand wrote:
> On Wed, Dec 18, 2019 at 6:39 AM Ruifeng Wang <ruifeng.wang at arm.com> wrote:
>> librte_mempool_ring.so and librte_pmd_null.so are in 'drivers' folder.
>> 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 at arm.com>
>> Reviewed-by: Gavin Hu <gavin.hu at arm.com>
>> ---
>>   devtools/test-null.sh | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> 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=
>> --
>> 2.17.1
>>
> I'm surprised to see this.
> So far, the CI ran fine without it, so something is different in the
> environment.
>
> I can see that the RPATH entry disappeared from the testpmd binary.
> Xenial:
> # readelf -d build/app/dpdk-testpmd |grep RPATH
>   0x000000000000000f (RPATH)              Library rpath:
> [$ORIGIN/../lib:$ORIGIN/../drivers:XXXXXXXXXXXXX]
>
> (not sure what XXXX purpose is, but different topic)
>
> Bionic:
> # readelf -d build/app/dpdk-testpmd |grep RPATH

It looks like RPATH just changed to be named RUNPATH in Bionic:

# readelf -d build/app/dpdk-testpmd | grep R.*PATH
  0x000000000000001d (RUNPATH)            Library runpath: 
[$ORIGIN/../lib:$ORIGIN/../drivers:XXXXXXXXXXXXX]

> Adding Bruce and Kevin, as I think this is the same issue than:
> http://mails.dpdk.org/archives/dev/2019-December/153627.html
> Could it be a change in meson?

Yes, looks like the same error to me.

I'm not sure this is solely a meson issue, I often need to pass -d 
librte_mempool_ring.so when using make builds too. Maybe I'm missing 
something here?

---
Kevin


More information about the dev mailing list