google/rust_icu

Building on FreeBSD: icu-config vs. pkg-config

kaj opened this issue · 2 comments

kaj commented

I get the following error when compiling rust_icu_sys on FreeBSD:

error: failed to run custom build command for `rust_icu_sys v2.0.0`

Caused by:
  process didn't exit successfully: `/usr/home/kaj/proj/r4s/target/debug/build/rust_icu_sys-8f83e049d2164566/build-script-build` (exit status: 1)
  --- stdout
  cargo:rustc-cfg=feature="renaming"
  cargo:rustc-cfg=feature="use-bindgen"
  cargo:rustc-cfg=feature="icu_config"

  --- stderr
  Error: while getting ICU version; is icu-config in $PATH?

  Caused by:
      0: could not execute command: pkg-config
      1: No such file or directory (os error 2)

The error message mentions icu-config (which I do have on my $PATH), but the command it tried to execute is pkg-config, which is not available on FreeBSD. Should the be a different implementation of struct ICUConfig for FreeBSD (and possibly other systems that use icu-config instead of pkg-config) ? Is there such an implemention that just failed to be selected in my compilation (but if so, I didn't find it in the source) ?

kaj commented

Hm. Actually solved by installing the pkgconf package, which provides a pkg-config command on freebsd. So maybe just change the error message from is icu-config in $PATH? to is pkg-config in $PATH? might be a good idea?

I think I didn't manage to extricate icu-config completely, though, so that may be something to look into again, and fix if needed.