Bug#1084501: gnome-metronome: FTBFS: error[E0599]: the method `set` exists for struct `RefCell<Sender<TimerCommand>>`, but its trait bounds were not satisfied

Santiago Vila sanvila at debian.org
Mon Oct 7 13:12:03 BST 2024


Package: src:gnome-metronome
Version: 1.3.0-6
Severity: serious
Tags: ftbfs

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
  debian/rules binary
dh binary
    dh_update_autotools_config
    dh_autoreconf
    debian/rules execute_before_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
/usr/share/cargo/bin/cargo prepare-debian /<<PKGBUILDDIR>>/debian/cargo_registry --link-from-system
debian cargo wrapper: options, profiles, parallel, lto: ['parallel=2'] [] ['-j2']
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
rm -f .cargo/config
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_auto_configure
	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
The Meson build system
Version: 1.5.2
Source dir: /<<PKGBUILDDIR>>
Build dir: /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu
Build type: native build
Project name: metronome
Project version: 1.3.0
Rust compiler for the host machine: rustc -C linker=cc (rustc 1.81.0)
Rust linker for the host machine: rustc -C linker=cc ld.bfd 2.43.1
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 gio-2.0 found: YES 2.82.1
Run-time dependency glib-2.0 found: YES 2.82.1
Run-time dependency gstreamer-1.0 found: YES 1.24.8
Run-time dependency gstreamer-audio-1.0 found: YES 1.24.8
Run-time dependency gstreamer-base-1.0 found: YES 1.24.8
Run-time dependency gstreamer-player-1.0 found: YES 1.24.8
Run-time dependency gstreamer-plugins-base-1.0 found: YES 1.24.8
Run-time dependency gtk4 found: YES 4.16.3
Run-time dependency libadwaita-1 found: YES 1.6.0
Program glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Program glib-compile-schemas found: YES (/usr/bin/glib-compile-schemas)
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Program appstream-util found: YES (/usr/bin/appstream-util)
Program cargo found: YES (/usr/bin/cargo)
Dependency gio-2.0 found: YES 2.82.1 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring com.adrienplazas.Metronome.desktop.in using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Configuring com.adrienplazas.Metronome.metainfo.xml.in using configuration
Configuring com.adrienplazas.Metronome.gschema.xml using configuration
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Configuring config.rs using configuration
Message: Building in release mode
Dependency gio-2.0 found: YES 2.82.1 (cached)
Program /usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas found: YES (/usr/lib/x86_64-linux-gnu/glib-2.0/glib-compile-schemas)
Program gtk4-update-icon-cache found: YES (/usr/bin/gtk4-update-icon-cache)
Program update-desktop-database found: YES (/usr/bin/update-desktop-database)
Build targets in project: 39

metronome 1.3.0

   User defined options
     buildtype         : plain
     libdir            : lib/x86_64-linux-gnu
     localstatedir     : /var
     prefix            : /usr
     sysconfdir        : /etc
     wrap_mode         : nodownload
     python.bytecompile: -1

Found ninja-1.12.1 at /usr/bin/ninja
    dh_auto_build
	cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j2 -v
[1/36] /usr/bin/glib-compile-resources ../data/resources/resources.gresource.xml --sourcedir /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/data/resources --sourcedir ../data/resources --internal --generate --target data/resources/resources.gresource --dependency-file data/resources/resources.gresource.d
xml-stripblanks preprocessing requested, but XMLLINT is not set, and xmllint is not in PATH
[2/36] /usr/bin/meson --internal msgfmthelper --msgfmt=/usr/bin/msgfmt data/com.adrienplazas.Metronome.desktop.in data/com.adrienplazas.Metronome.desktop desktop /<<PKGBUILDDIR>>/po
[3/36] /usr/bin/msgfmt -o po/ca/LC_MESSAGES/gnome-metronome.mo ../po/ca.po
[4/36] /usr/bin/msgfmt -o po/cs/LC_MESSAGES/gnome-metronome.mo ../po/cs.po
[5/36] /usr/bin/msgfmt -o po/da/LC_MESSAGES/gnome-metronome.mo ../po/da.po
[6/36] /usr/bin/msgfmt -o po/de/LC_MESSAGES/gnome-metronome.mo ../po/de.po
[7/36] /usr/bin/msgfmt -o po/en_GB/LC_MESSAGES/gnome-metronome.mo ../po/en_GB.po
[8/36] /usr/bin/msgfmt -o po/es/LC_MESSAGES/gnome-metronome.mo ../po/es.po
[9/36] /usr/bin/meson --internal msgfmthelper --msgfmt=/usr/bin/msgfmt data/com.adrienplazas.Metronome.metainfo.xml.in data/com.adrienplazas.Metronome.metainfo.xml xml /<<PKGBUILDDIR>>/po
Warning: program compiled against libxml 212 using older 209
[10/36] /usr/bin/msgfmt -o po/eu/LC_MESSAGES/gnome-metronome.mo ../po/eu.po
[11/36] /usr/bin/msgfmt -o po/fi/LC_MESSAGES/gnome-metronome.mo ../po/fi.po
[12/36] /usr/bin/msgfmt -o po/fr/LC_MESSAGES/gnome-metronome.mo ../po/fr.po
[13/36] /usr/bin/msgfmt -o po/fur/LC_MESSAGES/gnome-metronome.mo ../po/fur.po
[14/36] /usr/bin/msgfmt -o po/gl/LC_MESSAGES/gnome-metronome.mo ../po/gl.po
[15/36] /usr/bin/msgfmt -o po/he/LC_MESSAGES/gnome-metronome.mo ../po/he.po
[16/36] /usr/bin/msgfmt -o po/hr/LC_MESSAGES/gnome-metronome.mo ../po/hr.po
[17/36] /usr/bin/msgfmt -o po/hu/LC_MESSAGES/gnome-metronome.mo ../po/hu.po
[18/36] /usr/bin/msgfmt -o po/id/LC_MESSAGES/gnome-metronome.mo ../po/id.po
[19/36] /usr/bin/msgfmt -o po/is/LC_MESSAGES/gnome-metronome.mo ../po/is.po
[20/36] /usr/bin/msgfmt -o po/it/LC_MESSAGES/gnome-metronome.mo ../po/it.po
[21/36] /usr/bin/msgfmt -o po/ka/LC_MESSAGES/gnome-metronome.mo ../po/ka.po
[22/36] /usr/bin/msgfmt -o po/nl/LC_MESSAGES/gnome-metronome.mo ../po/nl.po
[23/36] /usr/bin/msgfmt -o po/oc/LC_MESSAGES/gnome-metronome.mo ../po/oc.po
[24/36] /usr/bin/msgfmt -o po/pl/LC_MESSAGES/gnome-metronome.mo ../po/pl.po
[25/36] /usr/bin/msgfmt -o po/pt/LC_MESSAGES/gnome-metronome.mo ../po/pt.po
[26/36] /usr/bin/msgfmt -o po/pt_BR/LC_MESSAGES/gnome-metronome.mo ../po/pt_BR.po
[27/36] /usr/bin/msgfmt -o po/ru/LC_MESSAGES/gnome-metronome.mo ../po/ru.po
[28/36] /usr/bin/msgfmt -o po/sk/LC_MESSAGES/gnome-metronome.mo ../po/sk.po
[29/36] /usr/bin/msgfmt -o po/sl/LC_MESSAGES/gnome-metronome.mo ../po/sl.po
[30/36] /usr/bin/msgfmt -o po/sr/LC_MESSAGES/gnome-metronome.mo ../po/sr.po
[31/36] /usr/bin/msgfmt -o po/sv/LC_MESSAGES/gnome-metronome.mo ../po/sv.po
[32/36] /usr/bin/msgfmt -o po/tr/LC_MESSAGES/gnome-metronome.mo ../po/tr.po
[33/36] /usr/bin/msgfmt -o po/uk/LC_MESSAGES/gnome-metronome.mo ../po/uk.po
[34/36] /usr/bin/msgfmt -o po/vi/LC_MESSAGES/gnome-metronome.mo ../po/vi.po
[34/36] /usr/bin/env /usr/bin/cargo build --manifest-path /<<PKGBUILDDIR>>/Cargo.toml --target-dir /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src --release && cp src/release/metronome src/gnome-metronome
      Locking 109 packages to latest compatible versions
    Compiling serde v1.0.210
    Compiling equivalent v1.0.1
    Compiling hashbrown v0.14.5
    Compiling indexmap v2.2.6
    Compiling winnow v0.6.18
    Compiling target-lexicon v0.12.14
    Compiling serde_spanned v0.6.7
    Compiling toml_datetime v0.6.8
    Compiling toml_edit v0.22.20
    Compiling smallvec v1.13.2
    Compiling heck v0.4.1
    Compiling cfg-expr v0.15.8
    Compiling pkg-config v0.3.27
    Compiling toml v0.8.19
    Compiling version-compare v0.1.1
    Compiling system-deps v7.0.2
    Compiling libc v0.2.155
    Compiling glib-sys v0.20.4
    Compiling autocfg v1.1.0
    Compiling gobject-sys v0.20.4
    Compiling proc-macro2 v1.0.86
    Compiling unicode-ident v1.0.12
    Compiling gio-sys v0.20.4
    Compiling quote v1.0.37
    Compiling syn v2.0.77
    Compiling memchr v2.7.1
    Compiling slab v0.4.9
    Compiling futures-core v0.3.30
    Compiling futures-macro v0.3.30
    Compiling proc-macro-crate v3.2.0
    Compiling pin-project-lite v0.2.13
    Compiling futures-task v0.3.30
    Compiling pin-utils v0.1.0
    Compiling glib-macros v0.20.4
    Compiling futures-util v0.3.30
    Compiling futures-executor v0.3.30
    Compiling futures-channel v0.3.30
    Compiling bitflags v2.6.0
    Compiling gdk-pixbuf-sys v0.20.4
    Compiling pango-sys v0.20.1
    Compiling cairo-sys-rs v0.20.0
    Compiling glib v0.20.4
    Compiling gdk4-sys v0.9.0
    Compiling graphene-sys v0.20.4
    Compiling gstreamer-sys v0.23.0
    Compiling num-traits v0.2.19
    Compiling gio v0.20.1
    Compiling semver v1.0.21
    Compiling gsk4-sys v0.9.0
    Compiling gstreamer-base-sys v0.23.0
    Compiling paste v1.0.15
    Compiling rustix v0.38.32
    Compiling futures-io v0.3.30
    Compiling aho-corasick v1.1.2
    Compiling num-rational v0.4.1
    Compiling gtk4-sys v0.9.2
    Compiling thiserror v1.0.59
    Compiling linux-raw-sys v0.4.12
    Compiling regex-syntax v0.8.2
    Compiling regex-automata v0.4.7
    Compiling rustc_version v0.4.0
    Compiling num-integer v0.1.46
    Compiling thiserror-impl v1.0.59
    Compiling memoffset v0.8.0
    Compiling gstreamer-video-sys v0.23.0
    Compiling fastrand v2.1.0
    Compiling cfg-if v1.0.0
    Compiling either v1.13.0
    Compiling shlex v1.3.0
    Compiling cc v1.1.14
    Compiling itertools v0.13.0
    Compiling tempfile v3.10.1
    Compiling option-operations v0.5.0
    Compiling field-offset v0.3.6
    Compiling regex v1.10.6
    Compiling gdk-pixbuf v0.20.1
    Compiling pango v0.20.1
    Compiling cairo-rs v0.20.1
    Compiling muldiv v1.0.1
    Compiling once_cell v1.19.0
    Compiling gstreamer v0.23.1
    Compiling gdk4 v0.9.0
    Compiling gettext-sys v0.21.3
    Compiling graphene-rs v0.20.1
    Compiling libadwaita-sys v0.7.0
    Compiling gstreamer-play-sys v0.23.0
    Compiling atomic_refcell v0.1.13
    Compiling gstreamer-base v0.23.1
    Compiling gsk4 v0.9.0
    Compiling gtk4-macros v0.9.0
    Compiling log v0.4.22
    Compiling termcolor v1.4.1
    Compiling lazy_static v1.4.0
    Compiling humantime v2.1.0
    Compiling env_logger v0.10.2
    Compiling locale_config v0.3.0
    Compiling gtk4 v0.9.1
    Compiling gstreamer-video v0.23.0
    Compiling gstreamer-play v0.23.0
    Compiling gettext-rs v0.7.0
    Compiling pretty_env_logger v0.5.0
    Compiling libadwaita v0.7.0
    Compiling metronome v0.1.0 (/<<PKGBUILDDIR>>)
warning: use of deprecated macro `clone`: Using old-style clone! syntax
    --> src/timer.rs:78:27
     |
78  |               thread::spawn(clone!(@strong clicker => move || {
     |  ___________________________^
79  | |                 let recv_period = std::time::Duration::from_millis(1);
80  | |                 let mut ticktime = std::time::Duration::from_nanos(ns_per_beat);
81  | |                 let mut lastiter = std::time::Instant::now() - ticktime;
...   |
108 | |                 }
109 | |             }));
     | |______________^
     |
     = note: `#[warn(deprecated)]` on by default
     = note: this warning originates in the macro `clone` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `set` exists for struct `RefCell<Sender<TimerCommand>>`, but its trait bounds were not satisfied
   --> src/timer.rs:77:29
    |
77 |             self.thread_cmd.set(tx);
    |                             ^^^
    |
    = note: the following trait bounds were not satisfied:
            `RefCell<std::sync::mpsc::Sender<timer::TimerCommand>>: IsA<libadwaita::gio::Settings>`
            which is required by `RefCell<std::sync::mpsc::Sender<timer::TimerCommand>>: libadwaita::prelude::SettingsExtManual`
    = help: items from traits can only be used if the trait is in scope
help: trait `PropertySet` which provides `set` is implemented but not in scope; perhaps you want to import it
    |
16 +     use libadwaita::glib::property::PropertySet;
    |

For more information about this error, try `rustc --explain E0599`.
warning: `metronome` (bin "metronome") generated 1 warning
error: could not compile `metronome` (bin "metronome") due to 1 previous error; 1 warning emitted
[35/36] /usr/bin/msgfmt -o po/zh_CN/LC_MESSAGES/gnome-metronome.mo ../po/zh_CN.po
FAILED: src/gnome-metronome
/usr/bin/env /usr/bin/cargo build --manifest-path /<<PKGBUILDDIR>>/Cargo.toml --target-dir /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src --release && cp src/release/metronome src/gnome-metronome
ninja: build stopped: subcommand failed.
dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j2 -v returned exit code 1
make: *** [debian/rules:15: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202410/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.



More information about the pkg-gnome-maintainers mailing list