Package: meson Version: 1.2.0-1 Severity: serious Tags: ftbfs Justification: causing FTBFS regression in another package X-Debbugs-Cc: [email protected] Control: affects -1 + src:glib2.0
glib2.0's meson.build has several calls to 'cc.run(...)' guarded by a check for 'cc_can_run = meson.can_run_host_binaries()'. On mips64el, Meson seems confused about whether this is a native or cross build. At first, it correctly reports that this is a native build: <https://buildd.debian.org/status/fetch.php?pkg=glib2.0&arch=mips64el&ver=2.76.4-2&stamp=1689773327&raw=0> > The Meson build system > Version: 1.2.0 > Source dir: /<<PKGBUILDDIR>> > Build dir: /<<PKGBUILDDIR>>/debian/build/deb > Build type: native build > Project name: glib > Project version: 2.76.4 but then later, cc.run() fails: > ../../../meson.build:1127:14: ERROR: Can not run test applications in this > cross environment. (Line 1127 is the first call to cc.run().) With a minimal reproducer: project('foo', 'c') if meson.can_run_host_binaries() meson.get_compiler('c').run('whatever') endif I can run `meson setup _build` successfully on amd64, or on the mips64el porterbox eller in a trixie_mips64el-dchroot session with meson 1.1.1-2, but not on eller in a sid_mips64el-dchroot session with meson 1.2.0-1. I attach meson-log.txt from the minimal reproducer failing in sid_mips64el-dchroot. It correctly reports > Is cross compiler: False. and > Build machine cpu family: mips64 > Build machine cpu: mips64 > Host machine cpu family: mips64 > Host machine cpu: mips64 > Target machine cpu family: mips64 > Target machine cpu: mips64 as I would expect. Thanks, smcv
Build started at 2023-07-19T19:02:54.288530 Main binary: /usr/bin/python3 Build Options: Python system: Linux The Meson build system Version: 1.2.0 Source dir: /home/smcv Build dir: /home/smcv/_build Build type: native build Project name: foo Project version: undefined ----------- Detecting compiler via: `cc --version` -> 0 stdout: cc (Debian 13.1.0-7) 13.1.0 Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ----------- Running command: cc -E -dM - ----- ----------- Detecting linker via: `cc -Wl,--version` -> 0 stdout: GNU ld (GNU Binutils for Debian) 2.40.90.20230714 Copyright (C) 2023 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. ----------- stderr: collect2 version 13.1.0 /usr/bin/ld -plugin /usr/libexec/gcc/mips64el-linux-gnuabi64/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/mips64el-linux-gnuabi64/13/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9MBOmq.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -EL -mips64r2 --as-needed -dynamic-linker /lib64/ld.so.1 -melf64ltsmip -pie /usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../mips64el-linux-gnuabi64/Scrt1.o /usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../mips64el-linux-gnuabi64/crti.o /usr/lib/gcc/mips64el-linux-gnuabi64/13/crtbeginS.o -L/usr/lib/gcc/mips64el-linux-gnuabi64/13 -L/usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../mips64el-linux-gnuabi64 -L/usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../../lib -L/lib/mips64el-linux-gnuabi64 -L/lib/../lib -L/usr/lib/mips64el-linux-gnuabi64 -L/usr/lib/../lib -L/usr/lib/gcc/mips64el-linux-gnuabi64/13/../../.. --version -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/mips64el-linux-gnuabi64/13/crtendS.o /usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../mips64el-linux-gnuabi64/crtn.o ----------- Sanity testing C compiler: ccache cc Is cross compiler: False. Sanity check compiler command line: ccache cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64 Sanity check compile stdout: ----- Sanity check compile stderr: ----- Running test binary command: /home/smcv/_build/meson-private/sanitycheckc.exe C compiler for the host machine: ccache cc (gcc 13.1.0 "cc (Debian 13.1.0-7) 13.1.0") C linker for the host machine: cc ld.bfd 2.40.90.20230714 ----------- Detecting linker via: `gcc-ar --version` -> 0 stdout: GNU ar (GNU Binutils for Debian) 2.40.90.20230714 Copyright (C) 2023 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) any later version. This program has absolutely no warranty. ----------- ----------- Detecting compiler via: `cc --version` -> 0 stdout: cc (Debian 13.1.0-7) 13.1.0 Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ----------- Running command: cc -E -dM - ----- ----------- Detecting linker via: `cc -Wl,--version` -> 0 stdout: GNU ld (GNU Binutils for Debian) 2.40.90.20230714 Copyright (C) 2023 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. ----------- stderr: collect2 version 13.1.0 /usr/bin/ld -plugin /usr/libexec/gcc/mips64el-linux-gnuabi64/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/mips64el-linux-gnuabi64/13/lto-wrapper -plugin-opt=-fresolution=/tmp/cctkRtUj.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -EL -mips64r2 --as-needed -dynamic-linker /lib64/ld.so.1 -melf64ltsmip -pie /usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../mips64el-linux-gnuabi64/Scrt1.o /usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../mips64el-linux-gnuabi64/crti.o /usr/lib/gcc/mips64el-linux-gnuabi64/13/crtbeginS.o -L/usr/lib/gcc/mips64el-linux-gnuabi64/13 -L/usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../mips64el-linux-gnuabi64 -L/usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../../lib -L/lib/mips64el-linux-gnuabi64 -L/lib/../lib -L/usr/lib/mips64el-linux-gnuabi64 -L/usr/lib/../lib -L/usr/lib/gcc/mips64el-linux-gnuabi64/13/../../.. --version -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/mips64el-linux-gnuabi64/13/crtendS.o /usr/lib/gcc/mips64el-linux-gnuabi64/13/../../../mips64el-linux-gnuabi64/crtn.o ----------- Sanity testing C compiler: ccache cc Is cross compiler: False. Sanity check compiler command line: ccache cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64 Sanity check compile stdout: ----- Sanity check compile stderr: ----- Running test binary command: /home/smcv/_build/meson-private/sanitycheckc.exe C compiler for the build machine: ccache cc (gcc 13.1.0 "cc (Debian 13.1.0-7) 13.1.0") C linker for the build machine: cc ld.bfd 2.40.90.20230714 ----------- Detecting linker via: `gcc-ar --version` -> 0 stdout: GNU ar (GNU Binutils for Debian) 2.40.90.20230714 Copyright (C) 2023 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) any later version. This program has absolutely no warranty. ----------- Build machine cpu family: mips64 Build machine cpu: mips64 Host machine cpu family: mips64 Host machine cpu: mips64 Target machine cpu family: mips64 Target machine cpu: mips64 meson.build:3:28: ERROR: Can not run test applications in this cross environment.

