[OE-core] Default rpaths in BUILD_LDFLAGS

Martin Kelly mkelly at xevo.com
Wed Mar 8 00:43:47 UTC 2017


Hi,

While debugging an issue with a package that uses llvm-config to compile 
with clang, I started hitting [rpaths] QA warnings because some output 
executables contained absolute rpaths pointing into my build directory. 
After tracing through the issue, I determined the rpaths to eventually 
be originating from the setting of BUILD_LDFLAGS in 
meta/conf/bitbake.conf. The rpath part of this was added in commit 
35759f97 to the poky repo.

A quick grep through the poky repo reveals that many projects have 
turned off rpath in their builds (the mechanism through which is 
build-system-dependent and doesn't always work right). Obviously, I can 
do the same for clang/llvm-config, but it doesn't seem like the ideal 
solution if many projects are having to do the same.

I'm wondering if those with more background on this issue could provide 
more detail regarding why rpaths are set at the top level and why they 
are necessary. In addition, I'm wondering if there might be a cleaner 
way to remove the rpaths for those projects that need to do so without 
each project manually writing sed and similar invocations to do it.

Thanks,
Martin

In case you're curious about the background of the issue, my project is 
using the output of llvm-config --ldflags to set its linker flags. 
llvm-config is populating the output --ldflags with whatever it is given 
for CXX_LINK_FLAGS. CXX_LINK_FLAGS is being populated by the generic 
cmake logic in cmake.bbclass, which is getting its flags from 
BUILD_LDFLAGS in meta/conf/bitbake.conf.



More information about the Openembedded-core mailing list