[Pkg-rust-maintainers] Bug#1079071: dh-cargo: fails to build glycin-loaders when lto is disabled via DEB_BUILD_OPTIONS
Matthias Geiger
werdahias at debian.org
Mon Aug 19 20:23:49 BST 2024
Package: dh-cargo
Version: 31
Severity: normal
X-Debbugs-Cc: werdahias at debian.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
I ran into this when building glycin-loaders:
=============================================
debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
/usr/share/cargo/bin/cargo prepare-debian debian/cargo_registry --link-from-system
debian cargo wrapper: options, profiles, parallel, lto: ['parallel=6', 'optimize=-lto', 'optimize=-lto'] [] ['-j6'] -1
debian cargo wrapper: rust_type, gnu_type: x86_64-unknown-linux-gnu, x86_64-linux-gnu
debian cargo wrapper: linking /usr/share/cargo/registry/* into /<<PKGBUILDDIR>>/debian/cargo_registry/
rm -f Cargo.lock
dh_auto_configure -- \
- -Dloaders="glycin-heif, glycin-image-rs, glycin-svg" \
- -Dhost_arch="x86_64-unknown-linux-gnu"
cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb LC_ALL=C.UTF-8 meson setup .. --wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/x86_64-linux-gnu -Dpython.bytecompile=-1 "-Dloaders=glycin-heif, glycin-image-rs, glycin-svg" -Dhost_arch=x86_64-unknown-linux-gnu
The Meson build system
Version: 1.5.1
Source dir: /<<PKGBUILDDIR>>
Build dir: /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu
Build type: native build
Project name: glycin-loaders
Project version: 1.0.1
Rust compiler for the host machine: rustc -C linker=cc (rustc 1.79.0)
Rust linker for the host machine: rustc -C linker=cc ld.bfd 2.43
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
Run-time dependency libseccomp found: YES 2.5.5
Run-time dependency libheif found: YES 1.18.1
Run-time dependency cairo found: YES 1.18.0
Run-time dependency gtk4 found: YES 4.14.4
Program cargo found: YES (/usr/share/cargo/bin/cargo)
Configuring tmp-glycin-heif using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Configuring tmp-glycin-image-rs using configuration
Configuring tmp-glycin-svg using configuration
Program meson found: YES
Program /<<PKGBUILDDIR>>/build-aux/setup-integration-test.py found: YES (/<<PKGBUILDDIR>>/build-aux/setup-integration-test.py)
Build targets in project: 9
glycin-loaders 1.0.1
User defined options
buildtype : plain
libdir : lib/x86_64-linux-gnu
localstatedir : /var
prefix : /usr
sysconfdir : /etc
wrap_mode : nodownload
python.bytecompile: -1
host_arch : x86_64-unknown-linux-gnu
loaders : glycin-heif, glycin-image-rs, glycin-svg
Found ninja-1.12.1 at /usr/bin/ninja
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build
cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j6 -v
[0/9] env LOCALEDIR=/usr/share/locale /usr/share/cargo/bin/cargo build --target-dir /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/cargo_target/loaders --profile release --manifest-path /<<PKGBUILDDIR>>/Cargo.toml --package glycin-heif
debian cargo wrapper: options, profiles, parallel, lto: ['parallel=6', 'optimize=-lto'] [] ['-j6'] -1
debian cargo wrapper: rust_type, gnu_type: x86_64-unknown-linux-gnu, x86_64-linux-gnu
debian cargo wrapper: running subprocess (['env', 'RUST_BACKTRACE=1', '/usr/bin/cargo', '-Zavoid-dev-deps', 'build', '--verbose', '--verbose', '-j6', '--target', 'x86_64-unknown-linux-gnu', '--target-dir', '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/cargo_target/loaders', '--profile', 'release', '--manifest-path', '/<<PKGBUILDDIR>>/Cargo.toml', '--package', 'glycin-heif', '--config profile.release.lto = false'],) {}
error: unexpected argument '--config profile.release.lto ' found
tip: a similar argument exists: '--config'
Usage: cargo build --verbose... --jobs <N> --target [<TRIPLE>] --target-dir <DIRECTORY> --profile <PROFILE-NAME> --manifest-path <PATH> --package [<SPEC>] --config <KEY=VALUE>
For more information, try '--help'.
FAILED: loaders/glycin-heif-bin
========================================================
Note that I passed along "optimize=-lto" to disable lto via
DEB_BUILD_OPTIONS. This causes the build to fail. Right now I use a hack
via sed'ing lto to false.
.
Also seems weird that the option is passed along twice ?
It would be great if this could get fixed so I can drop the hack.
best,
werdahias
- -- System Information:
Debian Release: trixie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.10.3-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: OpenRC (via /run/openrc), PID 1: init
LSM: AppArmor: enabled
Versions of packages dh-cargo depends on:
ii cargo 1.79.0+dfsg1-2
ii debhelper 13.18
ii perl 5.38.2-5
ii python3 3.12.5-1
dh-cargo recommends no packages.
dh-cargo suggests no packages.
- -- no debconf information
-----BEGIN PGP SIGNATURE-----
iIsEARYIADMWIQQUWTv/Sl6/b+DpcW7svtu2B7myvgUCZsObuRUcd2VyZGFoaWFz
QGRlYmlhbi5vcmcACgkQ7L7btge5sr4F+gEAwpxJ1qc8KDnlQuVJyAUtcGxopGOS
idsl51sDrfVrk+YA/2sS8VAQLam43LH/5BqFiQCS1thfppiWELf6qX5iqoEH
=nXCl
-----END PGP SIGNATURE-----
More information about the Pkg-rust-maintainers
mailing list