diff options
author | Ovidiu Panait <ovidiu.panait@windriver.com> | 2020-04-28 15:57:46 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-04-29 15:02:19 +0100 |
commit | a3b21540c3213078a8c917b29f5ce321ccb7031d (patch) | |
tree | 169ea087157c360d9555d768e8ca27cdc9d896bb /meta/classes/populate_sdk_base.bbclass | |
parent | 430ef75dcfddf998f1789c7f0ac66673da7016ee (diff) | |
download | poky-a3b21540c3213078a8c917b29f5ce321ccb7031d.tar.gz |
populate_sdk_base: Add ld.so.conf for nativesdk-binutils
Extend the functionality provided by commit [1] to the SDK as well. This way we
can make sure that nativesdk-binutils finds SDK libraries first rather than
host ones.
This is useful for example when trying to build the linux kernel using
nativesdk-gcc. This scenario currently fails because it tries to link to host
libraries rather than SDK host ones:
make x86_64_defconfig
make bzImage
...
error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel
Makefile:1101: recipe for target 'prepare-objtool' failed
make: *** [prepare-objtool] Error 1
....
/../../../../x86_64-wrlinuxsdk-linux/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: undefined reference to `__libc_vfork@GLIBC_PRIVATE'
...
[1] 15049c610b [buildtools-tarball: Add an ld.so.conf for nativesdk-binutils]
(From OE-Core rev: 7ec84a463ad4c45aee9cd2cbc75b43e5aab5cd18)
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/populate_sdk_base.bbclass')
-rw-r--r-- | meta/classes/populate_sdk_base.bbclass | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index ef0d8bef58..6a1ebc8c02 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass | |||
@@ -185,6 +185,11 @@ fakeroot create_sdk_files() { | |||
185 | # Escape special characters like '+' and '.' in the SDKPATH | 185 | # Escape special characters like '+' and '.' in the SDKPATH |
186 | escaped_sdkpath=$(echo ${SDKPATH} |sed -e "s:[\+\.]:\\\\\\\\\0:g") | 186 | escaped_sdkpath=$(echo ${SDKPATH} |sed -e "s:[\+\.]:\\\\\\\\\0:g") |
187 | sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py | 187 | sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py |
188 | |||
189 | mkdir -p ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/ | ||
190 | echo '${SDKPATHNATIVE}${libdir} | ||
191 | ${SDKPATHNATIVE}${base_libdir} | ||
192 | include /etc/ld.so.conf' > ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/ld.so.conf | ||
188 | } | 193 | } |
189 | 194 | ||
190 | python check_sdk_sysroots() { | 195 | python check_sdk_sysroots() { |