Your message dated Thu, 13 Dec 2018 12:52:22 +0000
with message-id <[email protected]>
and subject line Bug#913263: fixed in meson 0.49.0-1
has caused the Debian Bug report #913263,
regarding meson: wrongly caches dependency() results
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
913263: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913263
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: meson
Version: 0.48.1-1
User: [email protected]
Usertags: rebootstrap
Meson wrongly caches the result of a dependency() call. If you need a
dependency for both the build architecture and host architecture, meson
caches uses the results from the first invocation for the other
invocation. Let me demonstrate the faulty behaviour with the following
meson file:
project('test', 'c')
# The following dependency call is unnecessary here, but its results
# leak into the next call.
glib = dependency('glib-2.0')
native_glib = dependency('glib-2.0', native: true)
gen = executable('gen', 'gen.c', dependencies: [native_glib], native: true)
out = custom_target('out', output: 'out', command: [gen], capture: true,
build_by_default: true)
To actually build it, you need some gen.c file:
#include <stdio.h>
int main() { printf("success\n"); return 0; }
When cross building this project, the expected behaviour is generating a
file called "out" with the "content" success". To reproduce, create a
crossfile using /usr/share/meson/debcrossgen e.g. for ppc64el. Then
running meson yields the following output:
| WARNING: Unknown CPU family 'powerpc64le', please report this at
https://github.com/mesonbuild/meson/issues/new
| The Meson build system
| Version: 0.48.1
| Source dir: .../source
| Build dir: .../source/build
| Build type: cross build
| Project name: test
| Project version: undefined
| Native C compiler: cc (gcc 8.2.0 "cc (Debian 8.2.0-9) 8.2.0")
| Cross C compiler: /usr/bin/powerpc64le-linux-gnu-gcc (gcc 8.2.0)
| Host machine cpu family: powerpc64le
| Host machine cpu: ppc64el
| Target machine cpu family: powerpc64le
| Target machine cpu: ppc64el
| Build machine cpu family: x86_64
| Build machine cpu: x86_64
| Cross dependency glib-2.0 found: YES 2.58.1
| Native dependency glib-2.0 found: YES 2.58.1
| Build targets in project: 2
| Found ninja-1.8.2 at /usr/bin/ninja
All looks well. Now run ninja -v.
| [1/3] cc -Igen@exe -I. -I.. -I/usr/include/glib-2.0
-I/usr/lib/powerpc64le-linux-gnu/glib-2.0/include -fdiagnostics-color=always
-pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -MD -MQ 'gen@exe/gen.c.o'
-MF 'gen@exe/gen.c.o.d' -o 'gen@exe/gen.c.o' -c ../gen.c
| [2/3] cc -o gen 'gen@exe/gen.c.o' -Wl,--no-undefined -Wl,--as-needed
-Wl,--start-group /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so -Wl,--end-group
'-Wl,-rpath,$ORIGIN/../../usr/lib/powerpc64le-linux-gnu'
-Wl,-rpath-link,/usr/lib/powerpc64le-linux-gnu
| FAILED: gen
| cc -o gen 'gen@exe/gen.c.o' -Wl,--no-undefined -Wl,--as-needed
-Wl,--start-group /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so -Wl,--end-group
'-Wl,-rpath,$ORIGIN/../../usr/lib/powerpc64le-linux-gnu'
-Wl,-rpath-link,/usr/lib/powerpc64le-linux-gnu
| /usr/bin/ld: /usr/lib/powerpc64le-linux-gnu/libglib-2.0.so: error adding
symbols: file in wrong format
| collect2: error: ld returned 1 exit status
| ninja: build stopped: subcommand failed.
You notice that the native compiler invocation is asked to link the host
architecture libglib-2.0.so. That's wrong.
To see that this is actually the first depenency() call leaking into the
next call, we can simply remove the first (unnecessary) call. After
doing so, the sample project crosses fine.
Helmut
--- End Message ---
--- Begin Message ---
Source: meson
Source-Version: 0.49.0-1
We believe that the bug you reported is fixed in the latest version of
meson, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Jussi Pakkanen <[email protected]> (supplier of updated meson package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Sun, 09 Dec 2018 19:56:53 +0200
Source: meson
Binary: meson
Architecture: source
Version: 0.49.0-1
Distribution: unstable
Urgency: medium
Maintainer: Jussi Pakkanen <[email protected]>
Changed-By: Jussi Pakkanen <[email protected]>
Description:
meson - high-productivity build system
Closes: 894774 913263 914543
Changes:
meson (0.49.0-1) unstable; urgency=medium
.
* New upstream release. Closes: #894774, #914543, #913263.
Checksums-Sha1:
ae7844a8de703a667360c5e849b099b69b3c6d80 3350 meson_0.49.0-1.dsc
27cdbbe2e49a21d256848cf6a9082770094f0bf9 1338583 meson_0.49.0.orig.tar.gz
0ae42b70464b484dcb9ebccb9d7ba21d1d6d0b11 11964 meson_0.49.0-1.debian.tar.xz
51136752f047cf8cef92ff71645f99e1dd69785f 6171 meson_0.49.0-1_source.buildinfo
Checksums-Sha256:
3abc4e528da141c4728a4f8ee546c253fb471c0e339494c3b4593e8d41a338f0 3350
meson_0.49.0-1.dsc
fb0395c4ac208eab381cd1a20571584bdbba176eb562a7efa9cb17cace0e1551 1338583
meson_0.49.0.orig.tar.gz
7c48429eea58ba826122671b73ed636f0489ff7bf85d50e32488ae0b47448f38 11964
meson_0.49.0-1.debian.tar.xz
7c079e6fcbcb1cb111a74c547d04ac0f8342df23790db4edac96a3e650e1b422 6171
meson_0.49.0-1_source.buildinfo
Files:
fdc4cdbeba16605cb421007dac94b640 3350 devel optional meson_0.49.0-1.dsc
3c35b91e8040901034809576d54007c6 1338583 devel optional
meson_0.49.0.orig.tar.gz
483e41832387a85257cc4baea1e151ce 11964 devel optional
meson_0.49.0-1.debian.tar.xz
bb0f17027670bb8f7832073c64f0d0df 6171 devel optional
meson_0.49.0-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEExkOAo1eT0DvBz+1oxrkYDUvYt64FAlwSS4MACgkQxrkYDUvY
t651Kw//WV266Rdx64Gkfu4NVfDOCJMt9S+7hXdPlDLUOuk3IlOJ8kryaiz3Q4m8
pwauh8YnO3S3/p9+UfSP9Rd3BsKqXco0Dzngv6rHgebo8LAGHa8n+ZA33Bj1kJB8
6jSqtWuf86JagMZquD/DHK/Y0fTtVfP0HbxY+EgEjTJCJLFlhHpRUZKMv4+7NDy7
4e/ewPzQEU0zyMejPsF/JInncTza4rbNah/stmmLKCkAK30NO8Dyqkvsp7kE60GV
7FSnlYHgAH1lmx/s0tPRULXjHTKfeGIHIi05Fn5XQHrH7Sc5SI8pFq/GQd47o91N
S8wx0rKSEbRLkoFP54tDEbU0lIJGkANjfRo+3B6YkO3u+YkTqJ1g3VcqCGq3nKGD
5jRGBbhVGyOYZzCWaUlAs3y42rg9zqdq5U3lfEkWy/USK81K+hRHelGelqrWcBA/
7pEm9ZrpPic1lo4Tkag16vluMUPRjtyrORBjXrFvgb7JtVvgsdvYzkc3q54QrHsZ
WIfIxO5luRy7Spl16w68orbv1uiwUJVcK5OgaSm42rCtK5YcpXwfxGtjfRjQ7RCO
pXH4gG57sR3dJhYDqsmn+SHV6/wh9Yl/2DkoR/81KuGBsS2lZm/j5DW+ERnvXR2L
STpsn62lt/SLZzYOF0VmZTo7PBgxisWH+O6sggmJD6fkQdrXNII=
=5fUt
-----END PGP SIGNATURE-----
--- End Message ---