librsvg-2.55.1 fails to build on powerpc64-gentoo-linux-musl with 'Invalid TARGET: powerpc64-gentoo-linux-musl'
librsvg-2.54.x can be patched to run on powerpc64-gentoo-linux-musl using this patch:
--- a/vendor/system-deps/src/lib.rs
+++ b/vendor/system-deps/src/lib.rs
@@ -668,13 +668,6 @@
let mut libraries = Dependencies::default();
for dep in metadata.deps.iter() {
- if let Some(cfg) = &dep.cfg {
- // Check if `cfg()` expression matches the target settings
- if !self.check_cfg(cfg)? {
- continue;
- }
- }
-
let mut enabled_feature_overrides = Vec::new();
for o in dep.version_overrides.iter() {
but on librsvg-2.55.x this is no longer possible. 2.55.1 build fails with following error:
[...]
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_powerpc64-gentoo-linux-musl
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_powerpc64_gentoo_linux_musl
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
--- stderr
thread 'main' panicked at 'Invalid TARGET: powerpc64-gentoo-linux-musl', /var/tmp/portage/gnome-base/librsvg-2.55.1/work/cargo_home/gentoo/system-deps-6.0.2/src/lib.rs:810:32
stack backtrace:
0: 0x102b7e6ac - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h23ac1b1b4898f90d
1: 0x102bba110 - core::fmt::write::hac9ec6191e9e2f8b
2: 0x102b780f0 - std::io::Write::write_fmt::h94e005cb68e84eda
3: 0x102b8227c - std::panicking::default_hook::{{closure}}::hfcd2d34a98a91cdf
4: 0x102b81c28 - std::panicking::default_hook::h19c598b7b0a76046
5: 0x102b82ad0 - std::panicking::rust_panic_with_hook::h45e3ca31c2c1d450
6: 0x102b82788 - std::panicking::begin_panic_handler::{{closure}}::hfe751aedd5597f92
7: 0x102b7ece4 - std::sys_common::backtrace::__rust_end_short_backtrace::hf30076b121310bad
8: 0x102b82368 - rust_begin_unwind
9: 0x1028a2cc8 - core::panicking::panic_fmt::h9a708ec1e14b6224
10: 0x1028c54f4 - system_deps::Config::check_cfg::{{closure}}::he6280a8ff6b078c2
11: 0x1028af988 - core::option::Option<T>::unwrap_or_else::h94edbab5170f1d3c
12: 0x1028c53e4 - system_deps::Config::check_cfg::h790b92f8ab7b688a
13: 0x1028c2e70 - system_deps::Config::probe_pkg_config::h9f1cf7e19efb74c3
14: 0x1028c27c4 - system_deps::Config::probe_full::hee754f0e424103be
15: 0x1028c22cc - system_deps::Config::probe::h7d77f779aa890bd7
16: 0x1028a36dc - build_script_build::main::h21bbbf8d66c5cc08
17: 0x1028a6528 - core::ops::function::FnOnce::call_once::hd687bd4f3a0b7cad
18: 0x1028a7538 - std::sys_common::backtrace::__rust_begin_short_backtrace::h953f5fb138f84d5e
19: 0x1028a70ac - std::rt::lang_start::{{closure}}::h1584354a7bd08ca1
20: 0x102b7ddfc - std::rt::lang_start_internal::hb0e9589d58ee039f
21: 0x1028a7060 - std::rt::lang_start::h37e1bc0443060c01
22: 0x1028a5648 - main
23: 0x3fff8dff9ee0 - <unknown>
make[2]: *** [Makefile:1554: librsvg_c_api.la] Error 101
Toolchain used is Rust 1.59, GCC 12.2, binutils 2.39, musl 1.2.3. Build is done natively on Gentoo powerpc64-gentoo-linux-musl on a Talos II. librsvg-2.55.1_20221107-203959.log