On 11/18/2019 3:14 PM, Thomas Monjalon wrote: > 12/11/2019 14:15, Ferruh Yigit: >> This patch functionally reverts the patch in fixes line to not have any >> hardcoded library path in the final binary for the security reasons, in >> case this binary distributed to production environment. > > What about meson? > There are these rpaths: > $ORIGIN/../lib > $ORIGIN/../drivers > > >> RPATH only added in RTE_DEVEL_BUILD case and this binary shouldn't >> distributed, but still removing it to be cautious. > > For convenience, we could keep adding rpath for internal apps.
This was the main intention, but the concern is someone unaware of this capability and distributes a binary that we think it will be internal. > > >> --- a/devtools/test-null.sh >> +++ b/devtools/test-null.sh > >> if ldd $testpmd | grep -q librte_ ; then >> + export LD_LIBRARY_PATH=$build/lib:$LD_LIBRARY_PATH >> libs='-d librte_mempool_ring.so -d librte_pmd_null.so' > > > There is an issue in this change, because $build may be undefined. > It can be fixed with adding this line: > > +[ -f "$testpmd" ] && build=$(dirname $(dirname $testpmd)) > [ -f "$testpmd" ] || testpmd=$build/app/dpdk-testpmd > [ -f "$testpmd" ] || testpmd=$build/app/testpmd 'build' is already defined as following at the beginning of the script build=${1:-build} And if 'build' is wrong/missing, script can't reach to this line at all, because 'testpmd' path found based on 'build' and if 'testpmd' not found, script will exit. Can you please give more detail what is problem with 'build'?