Since https://github.com/gentoo/gentoo/commit/ef894cec8dee3758cfde620b87d10b2774419cdf , running meson configured for cross-compiling will use CFLAGS on the native host compiler, which prevents it from running. Reproducible: Always Steps to Reproduce: 1. emerge -v xorg-proto # with a cross-compiling profile using -mcpu etc. Actual Results: The Meson build system Version: 0.52.1 Source dir: /var/tmp/portage/x11-libs/libxkbcommon-0.10.0/work/libxkbcommon-0.10.0 Build dir: /var/tmp/portage/x11-libs/libxkbcommon-0.10.0/work/libxkbcommon-0.10.0-.arm Build type: cross build Project name: libxkbcommon Project version: 0.10.0 Appending CFLAGS from environment: '-O2 -pipe -ggdb -flto=jobserver -march=armv7ve+simd -mtune=cortex-a17 -mfpu=neon-vfpv4 -ftree-vectorize' Appending LDFLAGS from environment: ['-Wl,-O1', '-Wl,--as-needed'] meson.build:1:0: ERROR: Compiler x86_64-pc-linux-gnu-gcc can not compile programs. Expected Results: It should build and install properly like it did a day ago. Here is a meson-log.txt: Build started at 2020-05-03T10:52:18.798934 Main binary: /usr/bin/python3.6 Build Options: -Dprefix=/usr -Dlibdir=lib -Dlocalstatedir=/var/lib -Dsysconfdir=/etc -Dbuildtype=plain -Dwrap_mode=nodownload -Dbuild.pkg_config_path=/usr/share/pkgconfig -Dpkg_config_path=/usr/share/pkgconfig '--cross-file /var/tmp/portage/x11-base/xorg-proto-2019.2/temp/meson.armv7a-gentoo-linux-gnueabihf.arm.ini' '--native-file /var/tmp/portage/x11-base/xorg-proto-2019.2/temp/meson.x86_64-pc-linux-gnu.arm.ini' Python system: Linux The Meson build system Version: 0.52.1 Source dir: /var/tmp/portage/x11-base/xorg-proto-2019.2/work/xorgproto-2019.2 Build dir: /var/tmp/portage/x11-base/xorg-proto-2019.2/work/xorg-proto-2019.2-build Build type: cross build Project name: xorgproto Project version: 2019.2 Appending CFLAGS from environment: '-O2 -pipe -ggdb -flto=jobserver -march=armv7ve+simd -mtune=cortex-a17 -mfpu=neon-vfpv4 -ftree-vectorize' Appending LDFLAGS from environment: ['-Wl,-O1', '-Wl,--as-needed'] No CPPFLAGS in the environment, not changing global flags. Sanity testing C compiler: x86_64-pc-linux-gnu-gcc Is cross compiler: False. Sanity check compiler command line: x86_64-pc-linux-gnu-gcc /var/tmp/portage/x11-base/xorg-proto-2019.2/work/xorg-proto-2019.2-build/meson-private/sanitycheckc.c -o /var/tmp/portage/x11-base/xorg-proto-2019.2/work/xorg-proto-2019.2-build/meson-private/sanitycheckc.exe -O2 -pipe -ggdb -flto=jobserver -march=armv7ve+simd -mtune=cortex-a17 -mfpu=neon-vfpv4 -ftree-vectorize -pipe -D_FILE_OFFSET_BITS=64 -Wl,-O1 -Wl,--as-needed Sanity check compile stdout: ----- Sanity check compile stderr: x86_64-pc-linux-gnu-gcc: error: unrecognized command line option ‘-mfpu=neon-vfpv4’ ----- meson.build:21:0: ERROR: Compiler x86_64-pc-linux-gnu-gcc can not compile programs.
Created attachment 635844 [details] cross file
Created attachment 635846 [details] native file
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c8d90f4ac9df93020014604a39cdca6b8356cce commit 2c8d90f4ac9df93020014604a39cdca6b8356cce Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2020-05-03 15:18:12 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-05-03 15:18:12 +0000 meson.eclass: only default BUILD_FLAGS to FLAGS if not cross-compiling Bug: https://bugs.gentoo.org/720818 Signed-off-by: Mike Gilbert <floppym@gentoo.org> eclass/meson.eclass | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e82b49474c55d7a0d277d3d522fd490c151f7b8 commit 8e82b49474c55d7a0d277d3d522fd490c151f7b8 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2020-05-03 15:30:17 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-05-03 15:31:05 +0000 meson.eclass: unset FLAGS before calling meson setup Bug: https://bugs.gentoo.org/720818 Signed-off-by: Mike Gilbert <floppym@gentoo.org> eclass/meson.eclass | 3 +++ 1 file changed, 3 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d797a28c901c6262835b3a1d29ad8e192e9c1ecd commit d797a28c901c6262835b3a1d29ad8e192e9c1ecd Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2020-05-03 17:25:56 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-05-03 17:25:56 +0000 meson.eclass: use export -n instead of unset This ensures the variables are still availble if the configure function is called more than once, as would happen for a multilib build. Bug: https://bugs.gentoo.org/720818 Signed-off-by: Mike Gilbert <floppym@gentoo.org> eclass/meson.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)