0

My project used plotters as dependencies.

I want to compile my project to target platform x86_64-unknown-linux-musl from my host platform centos8. Then I met the problems below.

Compiling yeslogic-fontconfig-sys v3.2.0
error: failed to run custom build command for `yeslogic-fontconfig-sys v3.2.0`

Caused by:
  process didn't exit successfully: `/root/pili/target/release/build/yeslogic-fontconfig-sys-3d6e06f420f36c05/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=RUST_FONTCONFIG_DLOPEN
  cargo:rerun-if-env-changed=FONTCONFIG_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_x86_64-unknown-linux-musl
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_x86_64_unknown_linux_musl
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_ALLOW_CROSS
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-musl
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_musl
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-musl
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_musl
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "pkg-config has not been configured to support cross-compilation.\n\nInstall a sysroot for the target platform and configure it via\nPKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH, or install a\ncross-compiling wrapper for pkg-config and set it via\nPKG_CONFIG environment variable."', /root/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/yeslogic-fontconfig-sys-3.2.0/build.rs:8:48
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Note: fontconfig and fontconfig-devel has been installed already.

It works fine when I trying to cross-compile my project from m1 macOS to x86 macOS and x86 windows, only x86 linux stuck me.

cafce25
  • 15,907
  • 4
  • 25
  • 31
  • 1
    You need to cross compile fontconfig and fontconfig-devel for x86_64-unknown-linux-musl; and they need to be installed in such a way that pkg-config can find them. You should probably read through the [musl libc faq](https://www.musl-libc.org/faq.html). – Elliott Frisch Mar 18 '23 at 04:56

0 Answers0