Bug#986873: librsvg: FTFBS with current rustc in Buster (1.41.1+dfsg1-1~deb10u1)

Colomban Wendling cwendling at hypra.fr
Tue Apr 13 10:04:20 BST 2021

Source: librsvg
Version: 2.44.10-2.1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)

Dear Maintainer,

Probably since the update to rustc 1.41 in Buster, librsvg fails to
build.  First error is:

>      Running `rustc --crate-name rayon_core /home/hypra/librsvg-2.44.10/vendor/rayon-core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 -C metadata=41ebc87ed575d9b4 -C extra-filename=-41ebc87ed575d9b4 --out-dir /home/hypra/librsvg-2.44.10/target/release/deps -L dependency=/home/hypra/librsvg-2.44.10/target/release/deps --extern crossbeam_deque=/home/hypra/librsvg-2.44.10/target/release/deps/libcrossbeam_deque-5e5e3fad47b2220a.rmeta --extern lazy_static=/home/hypra/librsvg-2.44.10/target/release/deps/liblazy_static-db957d0d55571ca1.rmeta --extern libc=/home/hypra/librsvg-2.44.10/target/release/deps/liblibc-7e7e12c9f437ada3.rmeta --extern num_cpus=/home/hypra/librsvg-2.44.10/target/release/deps/libnum_cpus-a828ef016c5f994d.rmeta --cap-lints allow`
> error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable
>    --> /home/hypra/librsvg-2.44.10/vendor/nalgebra/src/base/cg.rs:292:44
>     |
> 292 |                 self[(j, i)] += shift[j] * self[(D::dim() - 1, i)];
>     |                 ---------------------------^^^^-------------------
>     |                 |                          |
>     |                 |                          immutable borrow occurs here
>     |                 mutable borrow occurs here
>     |                 mutable borrow later used here

Which upstream has "fixed": https://gitlab.gnome.org/GNOME/librsvg/-/issues/634

However, if you work around that one, there's at least one more in the
cssparser module.

I'm not quite sure the solution here is as there are no other rustc
version available anymore.  But maybe call it quits and provide a
buidlable packport of newer version supporting rustc 1.41?

FWIW, I was trying to rebuild to fix apply a fix for #939029 (using
upstream's https://gitlab.gnome.org/GNOME/librsvg/commit/f5608502581207921b3b9e8adc53be7430945ade).


-- System Information:
Debian Release: 10.8
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.8.0-0.bpo.2-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

More information about the pkg-gnome-maintainers mailing list