summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2022-03-01 01:13:47 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-03-02 18:43:24 +0000
commit5ce1060e3a0a98e4a57c7c60430c3ca809031115 (patch)
tree31b2038634f6b7cc873f5ed0194dd6692b1b7be8 /meta
parent153d72a91ddaf60dc88823f6de00c9e954d72f0e (diff)
downloadpoky-5ce1060e3a0a98e4a57c7c60430c3ca809031115.tar.gz
coreutils: Disable statx for native build
The statx requires glibc >= 2.28 and linux kernel >= 4.11, but coreutils's configure only checks glibc compatibility for statx syscall but fail to check kernel support, e.g.: RedHat Enterprise Linux Server 7.6 (Maipo) Host kernel: 3.10.0-1127.8.2.el7.x86_64 Docker OS: Ubuntu 20.04.1 LTS $ bitbake coreutils-native find the binary ls and run it as "ls -l ." The result is something like: "?????????. ? ? ? ? ? foo" This is because glibc is 2.31 (Ubunut 20.04 in docker) which has statx, but host's kernel is 3.10.0 (CentOS 7) which doesn't support statx. Disable statx for native build to fix the problem. Original from: Davi Poyastro <davi.poyastro@nokia.com> (From OE-Core rev: 6c120d8856fab044e7b8e09d6de91c2b228a2dd9) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/coreutils/coreutils_9.0.bb7
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/recipes-core/coreutils/coreutils_9.0.bb b/meta/recipes-core/coreutils/coreutils_9.0.bb
index e4633949f4..e4a948c7e5 100644
--- a/meta/recipes-core/coreutils/coreutils_9.0.bb
+++ b/meta/recipes-core/coreutils/coreutils_9.0.bb
@@ -151,6 +151,13 @@ ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
151ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1" 151ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
152ALTERNATIVE_LINK_NAME[stat.1] = "${mandir}/man1/stat.1" 152ALTERNATIVE_LINK_NAME[stat.1] = "${mandir}/man1/stat.1"
153 153
154# The statx() requires glibc >= 2.28 and linux kernel >= 4.11, it doesn't work
155# when glibc >= 2.28 ((Ubuntu 20.04 in docker) and kernel < 4.11 (Host OS
156# CentOS 7), we can check kernel version and disable it, but that would cause
157# two different signatures for coreutils-native, so disable it unconditionally
158# for deterministic build.
159EXTRA_OECONF:append:class-native = " ac_cv_func_statx=0"
160
154python __anonymous() { 161python __anonymous() {
155 for prog in d.getVar('base_bindir_progs').split(): 162 for prog in d.getVar('base_bindir_progs').split():
156 d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) 163 d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))