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 | |
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>
-rw-r--r-- | meta/classes/populate_sdk_base.bbclass | 5 | ||||
-rw-r--r-- | meta/recipes-core/meta/buildtools-tarball.bb | 4 |
2 files changed, 5 insertions, 4 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() { |
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb index 977b6a5e1d..c49802eef8 100644 --- a/meta/recipes-core/meta/buildtools-tarball.bb +++ b/meta/recipes-core/meta/buildtools-tarball.bb | |||
@@ -76,10 +76,6 @@ create_sdk_files_append () { | |||
76 | echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script | 76 | echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script |
77 | echo 'export OPENSSL_CONF="${SDKPATHNATIVE}${sysconfdir}/ssl/openssl.cnf"' >>$script | 77 | echo 'export OPENSSL_CONF="${SDKPATHNATIVE}${sysconfdir}/ssl/openssl.cnf"' >>$script |
78 | 78 | ||
79 | mkdir -p ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/ | ||
80 | echo '${SDKPATHNATIVE}${libdir} | ||
81 | ${SDKPATHNATIVE}${base_libdir} | ||
82 | include /etc/ld.so.conf' > ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/ld.so.conf | ||
83 | if [ "${SDKMACHINE}" = "i686" ]; then | 79 | if [ "${SDKMACHINE}" = "i686" ]; then |
84 | echo 'export NO32LIBS="0"' >>$script | 80 | echo 'export NO32LIBS="0"' >>$script |
85 | echo 'echo "$BB_ENV_EXTRAWHITE" | grep -q "NO32LIBS"' >>$script | 81 | echo 'echo "$BB_ENV_EXTRAWHITE" | grep -q "NO32LIBS"' >>$script |