[Pkg-matrix-maintainers] Bug#1093344: matrix-synapse: FTBFS: error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope

Santiago Vila sanvila at debian.org
Fri Jan 17 18:53:42 GMT 2025


Package: src:matrix-synapse
Version: 1.121.0-5
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

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

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
mv debian/Cargo.lock.orig Cargo.lock || true
mv: cannot stat 'debian/Cargo.lock.orig': No such file or directory
dh_auto_clean
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   debian/rules execute_after_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf debian/cargo_registry
mv Cargo.lock debian/Cargo.lock.orig || true
rm -f setup.py
rm -rf debian/cargo_home target

[... snipped ...]

    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/module.rs:25:38
    |
25  | pyobject_native_type_core!(PyModule, pyobject_native_static_type_object!(ffi::PyModule_Type), #checkfunction=ffi::PyModule_Check);
    |                                      ------------------------------------------------------- in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unnecessary `unsafe` block
   --> /usr/share/cargo/registry/pyo3-0.21.2/src/types/mod.rs:226:15
    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/num.rs:12:36
    |
12  | pyobject_native_type_core!(PyLong, pyobject_native_static_type_object!(ffi::PyLong_Type), #checkfunction=ffi::PyLong_Check);
    |                                    ----------------------------------------------------- in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unnecessary `unsafe` block
   --> /usr/share/cargo/registry/pyo3-0.21.2/src/types/mod.rs:226:15
    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/pysuper.rs:15:5
    |
15  |     pyobject_native_static_type_object!(ffi::PySuper_Type)
    |     ------------------------------------------------------ in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unnecessary `unsafe` block
   --> /usr/share/cargo/registry/pyo3-0.21.2/src/types/mod.rs:226:15
    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/set.rs:21:5
    |
21  |     pyobject_native_static_type_object!(ffi::PySet_Type),
    |     ---------------------------------------------------- in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unnecessary `unsafe` block
   --> /usr/share/cargo/registry/pyo3-0.21.2/src/types/mod.rs:226:15
    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/slice.rs:17:5
    |
17  |     pyobject_native_static_type_object!(ffi::PySlice_Type),
    |     ------------------------------------------------------ in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unnecessary `unsafe` block
   --> /usr/share/cargo/registry/pyo3-0.21.2/src/types/mod.rs:226:15
    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/string.rs:135:38
    |
135 | pyobject_native_type_core!(PyString, pyobject_native_static_type_object!(ffi::PyUnicode_Type), #checkfunction=ffi::PyUnicode_Check);
    |                                      -------------------------------------------------------- in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unnecessary `unsafe` block
   --> /usr/share/cargo/registry/pyo3-0.21.2/src/types/mod.rs:226:15
    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/traceback.rs:12:5
    |
12  |     pyobject_native_static_type_object!(ffi::PyTraceBack_Type),
    |     ---------------------------------------------------------- in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unnecessary `unsafe` block
   --> /usr/share/cargo/registry/pyo3-0.21.2/src/types/mod.rs:226:15
    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/tuple.rs:57:37
    |
57  | pyobject_native_type_core!(PyTuple, pyobject_native_static_type_object!(ffi::PyTuple_Type), #checkfunction=ffi::PyTuple_Check);
    |                                     ------------------------------------------------------ in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unnecessary `unsafe` block
   --> /usr/share/cargo/registry/pyo3-0.21.2/src/types/mod.rs:226:15
    |
226 |         |_py| unsafe { ::std::ptr::addr_of_mut!($typeobject) }
    |               ^^^^^^ unnecessary `unsafe` block
    |
   ::: /usr/share/cargo/registry/pyo3-0.21.2/src/types/typeobject.rs:13:36
    |
13  | pyobject_native_type_core!(PyType, pyobject_native_static_type_object!(ffi::PyType_Type), #checkfunction=ffi::PyType_Check);
    |                                    ----------------------------------------------------- in this macro invocation
    |
    = note: this warning originates in the macro `pyobject_native_static_type_object` (in Nightly builds, run with -Z macro-backtrace for more info)

       Dirty pythonize v0.21.1: dependency info changed
   Compiling pythonize v0.21.1
     Running `CARGO=/usr/share/cargo/bin/cargo CARGO_CRATE_NAME=pythonize CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>>/debian/cargo_registry/pythonize-0.21.1 CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/debian/cargo_registry/pythonize-0.21.1/Cargo.toml CARGO_PKG_AUTHORS='David Hewitt <1939362+davidhewitt at users.noreply.github.com>' CARGO_PKG_DESCRIPTION='Serde Serializer & Deserializer from Rust <--> Python, backed by PyO3.' CARGO_PKG_HOMEPAGE='https://github.com/davidhewitt/pythonize' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=pythonize CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/davidhewitt/pythonize' CARGO_PKG_RUST_VERSION=1.56 CARGO_PKG_VERSION=0.21.1 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=21 CARGO_PKG_VERSION_PATCH=1 CARGO_PKG_VERSION_PRE='' LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/target/release/deps rustc --crate-name pythonize --edition=2021 /<<PKGBUILDDIR>>/debian/cargo_registry/pythonize-0.21.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=fc1547ecb415244e -C extra-filename=-fc1547ecb415244e --out-dir /<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/<<PKGBUILDDIR>>/target/release/deps --extern pyo3=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libpyo3-d9219a167ebdb13c.rmeta --extern serde=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libserde-242391b821c25563.rmeta --cap-lints warn -C debuginfo=2 -C strip=none --cap-lints warn -C linker=x86_64-linux-gnu-gcc -C link-arg=-Wl,-z,relro -C link-arg=-Wl,-z,now --remap-path-prefix /<<PKGBUILDDIR>>=/usr/share/cargo/registry/matrix-synapse-1.121.0 --remap-path-prefix /<<PKGBUILDDIR>>/debian/cargo_registry=/usr/share/cargo/registry`
       Dirty pyo3-log v0.10.0: dependency info changed
   Compiling pyo3-log v0.10.0
     Running `CARGO=/usr/share/cargo/bin/cargo CARGO_CRATE_NAME=pyo3_log CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>>/debian/cargo_registry/pyo3-log-0.10.0 CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/debian/cargo_registry/pyo3-log-0.10.0/Cargo.toml CARGO_PKG_AUTHORS='Michal '\''vorner'\'' Vaner <vorner at vorner.cz>' CARGO_PKG_DESCRIPTION='Logging bridge from pyo3 native extension to python' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='Apache-2.0 OR MIT' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=pyo3-log CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/vorner/pyo3-log' CARGO_PKG_RUST_VERSION=1.56.0 CARGO_PKG_VERSION=0.10.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=10 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/target/release/deps rustc --crate-name pyo3_log --edition=2018 /<<PKGBUILDDIR>>/debian/cargo_registry/pyo3-log-0.10.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=ddd447c51b009808 -C extra-filename=-ddd447c51b009808 --out-dir /<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/<<PKGBUILDDIR>>/target/release/deps --extern arc_swap=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libarc_swap-3866c6f5abbb08ca.rmeta --extern log=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/liblog-6c31eec713b0bc98.rmeta --extern pyo3=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libpyo3-d9219a167ebdb13c.rmeta --cap-lints warn -C debuginfo=2 -C strip=none --cap-lints warn -C linker=x86_64-linux-gnu-gcc -C link-arg=-Wl,-z,relro -C link-arg=-Wl,-z,now --remap-path-prefix /<<PKGBUILDDIR>>=/usr/share/cargo/registry/matrix-synapse-1.121.0 --remap-path-prefix /<<PKGBUILDDIR>>/debian/cargo_registry=/usr/share/cargo/registry`
warning: `pyo3` (lib) generated 568 warnings
   Compiling synapse v0.1.0 (/<<PKGBUILDDIR>>/rust)
     Running `CARGO=/usr/share/cargo/bin/cargo CARGO_CRATE_NAME=synapse CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>>/rust CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/rust/Cargo.toml CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=synapse CARGO_PKG_README='' CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION=1.66.0 CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/target/release/deps OUT_DIR=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/build/synapse-232c03b7b83da4b9/out SYNAPSE_RUST_DIGEST=8dcfbc74c846de74aedad3efe75308164a50a380d9d2d69a357a68b3bd0272425b0f8f6b4274629e34794fea3a3c3bfa31f98c124afeb521f6b4c2cc69496c20 rustc --crate-name synapse --edition=2021 rust/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="extension-module"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "extension-module"))' -C metadata=415b77717b3bcf31 --out-dir /<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/<<PKGBUILDDIR>>/target/release/deps --extern anyhow=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libanyhow-8b8b2946f3f3afc7.rlib --extern base64=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libbase64-45180ce51c0a42c0.rlib --extern bytes=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libbytes-8edbfdf4e460b5ce.rlib --extern headers=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libheaders-a4c4287baa6c81de.rlib --extern http=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libhttp-46e7f99b0c19d064.rlib --extern lazy_static=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/liblazy_static-2bf57e9834fb55ea.rlib --extern log=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/liblog-6c31eec713b0bc98.rlib --extern mime=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libmime-c006abfa2efcf86c.rlib --extern pyo3=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libpyo3-d9219a167ebdb13c.rlib --extern pyo3_log=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libpyo3_log-ddd447c51b009808.rlib --extern pythonize=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libpythonize-fc1547ecb415244e.rlib --extern regex=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libregex-a8167274fedffbff.rlib --extern serde=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libserde-242391b821c25563.rlib --extern serde_json=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libserde_json-b742a2caebbc71e5.rlib --extern sha2=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libsha2-0b5919da755c6119.rlib --extern ulid=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libulid-9cccaf956a28d628.rlib -C debuginfo=2 -C strip=none --cap-lints warn -C linker=x86_64-linux-gnu-gcc -C link-arg=-Wl,-z,relro -C link-arg=-Wl,-z,now --remap-path-prefix /<<PKGBUILDDIR>>=/usr/share/cargo/registry/matrix-synapse-1.121.0 --remap-path-prefix /<<PKGBUILDDIR>>/debian/cargo_registry=/usr/share/cargo/registry`
error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:46:13
     |
46   |     headers.typed_insert(AccessControlAllowOrigin::ANY);
     |             ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:47:13
     |
47   |     headers.typed_insert(AccessControlExposeHeaders::from_iter([ETAG]));
     |             ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0271]: type mismatch resolving `<[HeaderName; 1] as IntoIterator>::Item == HeaderName`
  --> rust/src/rendezvous/mod.rs:47:64
   |
47 |     headers.typed_insert(AccessControlExposeHeaders::from_iter([ETAG]));
   |                          ------------------------------------- ^^^^^^ expected `headers::HeaderName`, found `http::HeaderName`
   |                          |
   |                          required by a bound introduced by this call
   |
   = note: `http::HeaderName` and `headers::HeaderName` have similar names, but are actually distinct types
note: `http::HeaderName` is defined in crate `http`
  --> /usr/share/cargo/registry/http-1.2.0/src/header/name.rs:33:1
   |
33 | pub struct HeaderName {
   | ^^^^^^^^^^^^^^^^^^^^^
note: `headers::HeaderName` is defined in crate `http`
  --> /usr/share/cargo/registry/http-0.2.11/src/header/name.rs:33:1
   |
33 | pub struct HeaderName {
   | ^^^^^^^^^^^^^^^^^^^^^
   = note: perhaps two different versions of crate `http` are being used?
note: required by a bound in `std::iter::FromIterator::from_iter`
  --> /usr/src/rustc-1.84.0/library/core/src/iter/traits/collect.rs:152:5

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:48:13
     |
48   |     headers.typed_insert(Pragma::no_cache());
     |             ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:49:13
     |
49   |     headers.typed_insert(CacheControl::new().with_no_store());
     |             ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:50:13
     |
50   |     headers.typed_insert(session.etag());
     |             ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:51:13
     |
51   |     headers.typed_insert(session.expires());
     |             ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:52:13
     |
52   |     headers.typed_insert(session.last_modified());
     |             ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: the method `typed_get_required` exists for reference `&HeaderMap`, but its trait bounds were not satisfied
   --> rust/src/rendezvous/mod.rs:68:53
    |
68  |         let ContentLength(content_length) = headers.typed_get_required()?;
    |                                                     ^^^^^^^^^^^^^^^^^^ method cannot be called on `&HeaderMap` due to unsatisfied trait bounds
    |
   ::: /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:45:1
    |
45  | pub struct HeaderMap<T = HeaderValue> {
    | ------------------------------------- doesn't satisfy `http::HeaderMap: HeaderMapExt` or `http::HeaderMap: HeaderMapPyExt`
    |
note: the following trait bounds were not satisfied:
      `&http::HeaderMap: HeaderMapExt`
      `http::HeaderMap: HeaderMapExt`
   --> rust/src/http.rs:174:9
    |
174 | impl<T: HeaderMapExt> HeaderMapPyExt for T {}
    |         ^^^^^^^^^^^^  --------------     -
    |         |
    |         unsatisfied trait bound introduced here
    = help: items from traits can only be used if the trait is implemented and in scope
note: `HeaderMapPyExt` defines an item `typed_get_required`, perhaps you need to implement it
   --> rust/src/http.rs:140:1
    |
140 | pub trait HeaderMapPyExt: HeaderMapExt {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0599]: the method `typed_get_required` exists for reference `&HeaderMap`, but its trait bounds were not satisfied
   --> rust/src/rendezvous/mod.rs:80:49
    |
80  |         let content_type: ContentType = headers.typed_get_required()?;
    |                                                 ^^^^^^^^^^^^^^^^^^ method cannot be called on `&HeaderMap` due to unsatisfied trait bounds
    |
   ::: /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:45:1
    |
45  | pub struct HeaderMap<T = HeaderValue> {
    | ------------------------------------- doesn't satisfy `http::HeaderMap: HeaderMapExt` or `http::HeaderMap: HeaderMapPyExt`
    |
note: the following trait bounds were not satisfied:
      `&http::HeaderMap: HeaderMapExt`
      `http::HeaderMap: HeaderMapExt`
   --> rust/src/http.rs:174:9
    |
174 | impl<T: HeaderMapExt> HeaderMapPyExt for T {}
    |         ^^^^^^^^^^^^  --------------     -
    |         |
    |         unsatisfied trait bound introduced here
    = help: items from traits can only be used if the trait is implemented and in scope
note: `HeaderMapPyExt` defines an item `typed_get_required`, perhaps you need to implement it
   --> rust/src/http.rs:140:1
    |
140 | pub trait HeaderMapPyExt: HeaderMapExt {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:193:32
     |
193  |         response.headers_mut().typed_insert(ContentType::json());
     |                                ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: the method `typed_get_optional` exists for reference `&HeaderMap`, but its trait bounds were not satisfied
   --> rust/src/rendezvous/mod.rs:210:68
    |
210 |         let if_none_match: Option<IfNoneMatch> = request.headers().typed_get_optional()?;
    |                                                                    ^^^^^^^^^^^^^^^^^^ method cannot be called on `&HeaderMap` due to unsatisfied trait bounds
    |
   ::: /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:45:1
    |
45  | pub struct HeaderMap<T = HeaderValue> {
    | ------------------------------------- doesn't satisfy `http::HeaderMap: HeaderMapExt` or `http::HeaderMap: HeaderMapPyExt`
    |
note: the following trait bounds were not satisfied:
      `&http::HeaderMap: HeaderMapExt`
      `http::HeaderMap: HeaderMapExt`
   --> rust/src/http.rs:174:9
    |
174 | impl<T: HeaderMapExt> HeaderMapPyExt for T {}
    |         ^^^^^^^^^^^^  --------------     -
    |         |
    |         unsatisfied trait bound introduced here
    = help: items from traits can only be used if the trait is implemented and in scope
note: `HeaderMapPyExt` defines an item `typed_get_optional`, perhaps you need to implement it
   --> rust/src/http.rs:140:1
    |
140 | pub trait HeaderMapPyExt: HeaderMapExt {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:236:17
     |
236  |         headers.typed_insert(session.content_type());
     |                 ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:237:17
     |
237  |         headers.typed_insert(session.content_length());
     |                 ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: the method `typed_get_required` exists for reference `&HeaderMap`, but its trait bounds were not satisfied
   --> rust/src/rendezvous/mod.rs:253:51
    |
253 |         let if_match: IfMatch = request.headers().typed_get_required()?;
    |                                                   ^^^^^^^^^^^^^^^^^^ method cannot be called on `&HeaderMap` due to unsatisfied trait bounds
    |
   ::: /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:45:1
    |
45  | pub struct HeaderMap<T = HeaderValue> {
    | ------------------------------------- doesn't satisfy `http::HeaderMap: HeaderMapExt` or `http::HeaderMap: HeaderMapPyExt`
    |
note: the following trait bounds were not satisfied:
      `&http::HeaderMap: HeaderMapExt`
      `http::HeaderMap: HeaderMapExt`
   --> rust/src/http.rs:174:9
    |
174 | impl<T: HeaderMapExt> HeaderMapPyExt for T {}
    |         ^^^^^^^^^^^^  --------------     -
    |         |
    |         unsatisfied trait bound introduced here
    = help: items from traits can only be used if the trait is implemented and in scope
note: `HeaderMapPyExt` defines an item `typed_get_required`, perhaps you need to implement it
   --> rust/src/http.rs:140:1
    |
140 | pub trait HeaderMapPyExt: HeaderMapExt {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:296:32
     |
296  |         response.headers_mut().typed_insert(ContentType::text());
     |                                ^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

error[E0599]: no method named `typed_insert` found for mutable reference `&mut http::HeaderMap` in the current scope
    --> rust/src/rendezvous/mod.rs:313:14
     |
311  | /         response
312  | |             .headers_mut()
313  | |             .typed_insert(AccessControlAllowOrigin::ANY);
     | |_____________-^^^^^^^^^^^^
     |
help: there is a method `insert` with a similar name, but with different arguments
    --> /usr/share/cargo/registry/http-1.2.0/src/header/map.rs:1226:5
     |
1226 | /     pub fn insert<K>(&mut self, key: K, val: T) -> Option<T>
1227 | |     where
1228 | |         K: IntoHeaderName,
     | |__________________________^

Some errors have detailed explanations: E0271, E0599.
For more information about an error, try `rustc --explain E0271`.
error: could not compile `synapse` (lib) due to 17 previous errors

Caused by:
  process didn't exit successfully: `CARGO=/usr/share/cargo/bin/cargo CARGO_CRATE_NAME=synapse CARGO_MANIFEST_DIR=/<<PKGBUILDDIR>>/rust CARGO_MANIFEST_PATH=/<<PKGBUILDDIR>>/rust/Cargo.toml CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=synapse CARGO_PKG_README='' CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION=1.66.0 CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/target/release/deps OUT_DIR=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/build/synapse-232c03b7b83da4b9/out SYNAPSE_RUST_DIGEST=8dcfbc74c846de74aedad3efe75308164a50a380d9d2d69a357a68b3bd0272425b0f8f6b4274629e34794fea3a3c3bfa31f98c124afeb521f6b4c2cc69496c20 rustc --crate-name synapse --edition=2021 rust/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="extension-module"' --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values("default", "extension-module"))' -C metadata=415b77717b3bcf31 --out-dir /<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/<<PKGBUILDDIR>>/target/release/deps --extern anyhow=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libanyhow-8b8b2946f3f3afc7.rlib --extern base64=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libbase64-45180ce51c0a42c0.rlib --extern bytes=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libbytes-8edbfdf4e460b5ce.rlib --extern headers=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libheaders-a4c4287baa6c81de.rlib --extern http=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libhttp-46e7f99b0c19d064.rlib --extern lazy_static=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/liblazy_static-2bf57e9834fb55ea.rlib --extern log=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/liblog-6c31eec713b0bc98.rlib --extern mime=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libmime-c006abfa2efcf86c.rlib --extern pyo3=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libpyo3-d9219a167ebdb13c.rlib --extern pyo3_log=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libpyo3_log-ddd447c51b009808.rlib --extern pythonize=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libpythonize-fc1547ecb415244e.rlib --extern regex=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libregex-a8167274fedffbff.rlib --extern serde=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libserde-242391b821c25563.rlib --extern serde_json=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libserde_json-b742a2caebbc71e5.rlib --extern sha2=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libsha2-0b5919da755c6119.rlib --extern ulid=/<<PKGBUILDDIR>>/target/x86_64-unknown-linux-gnu/release/deps/libulid-9cccaf956a28d628.rlib -C debuginfo=2 -C strip=none --cap-lints warn -C linker=x86_64-linux-gnu-gcc -C link-arg=-Wl,-z,relro -C link-arg=-Wl,-z,now --remap-path-prefix /<<PKGBUILDDIR>>=/usr/share/cargo/registry/matrix-synapse-1.121.0 --remap-path-prefix /<<PKGBUILDDIR>>/debian/cargo_registry=/usr/share/cargo/registry` (exit status: 1)
error: `/usr/share/cargo/bin/cargo rustc --lib --message-format=json-render-diagnostics --manifest-path rust/Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --` failed with code 101
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
    main()
    ~~~~^^
  File "/usr/lib/python3/dist-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in main
    json_out["return_val"] = hook(**hook_input["kwargs"])
                             ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel
    return _build_backend().build_wheel(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        wheel_directory, config_settings, metadata_directory
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/poetry/core/masonry/api.py", line 58, in build_wheel
    return WheelBuilder.make_in(
           ~~~~~~~~~~~~~~~~~~~~^
        poetry, Path(wheel_directory), metadata_directory=metadata_path
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3/dist-packages/poetry/core/masonry/builders/wheel.py", line 88, in make_in
    wb.build(target_dir=directory)
    ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/poetry/core/masonry/builders/wheel.py", line 121, in build
    self._build(zip_file)
    ~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/poetry/core/masonry/builders/wheel.py", line 182, in _build
    self._run_build_command(setup)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/usr/lib/python3/dist-packages/poetry/core/masonry/builders/wheel.py", line 248, in _run_build_command
    subprocess.check_call([
    ~~~~~~~~~~~~~~~~~~~~~^^
        self.executable.as_posix(),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
        str(self._get_build_platlib_dir()),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ])
    ^^
  File "/usr/lib/python3.13/subprocess.py", line 419, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3.13', '/<<PKGBUILDDIR>>/setup.py', 'build', '-b', '/<<PKGBUILDDIR>>/build', '--build-purelib', '/<<PKGBUILDDIR>>/build/lib', '--build-platlib', '/<<PKGBUILDDIR>>/build/lib.linux-x86_64-cpython-313']' returned non-zero exit status 1.

ERROR Backend subprocess exited when trying to invoke build_wheel
E: pybuild pybuild:389: build: plugin pyproject failed with: exit code=1: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_matrix-synapse  
dh_auto_build: error: pybuild --build -i python{version} -p "3.12 3.13" returned exit code 13
make: *** [debian/rules:40: 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/202501/

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 add an affects on src:matrix-synapse, so that this is still
visible in the BTS web page for this package.

Thanks.



More information about the Pkg-matrix-maintainers mailing list