linebender / skribo

A Rust library for low-level text layout.
Apache License 2.0
327 stars 35 forks source link

harfbuzz-sys build fails with cannot find input file: `test/Makefile.in' #7

Closed anthrotype closed 5 years ago

anthrotype commented 5 years ago

I just tried to clone the repo and run cargo build, and I got this build error when compiling the harfbuzz-sys crate dependency:

--- stderr
config.status: error: cannot find input file: `test/Makefile.in'
make: *** [all] Error 1
thread 'main' panicked at 'assertion failed: Command::new("make").env("MAKEFLAGS",
                         env::var("CARGO_MAKEFLAGS").unwrap_or_default()).args(&["-R",
                                                                                 "-f",
                                                                                 "makefile.cargo"]).status().unwrap().success()', /usr/local/google/home/clupo/.cargo/registry/src/github.com-1ecc6299db9ec823/harfbuzz-sys-0.3.1/build.rs:31:9
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

warning: build failed, waiting for other jobs to finish...
error: build failed

This happens when I compile skribo on Debian Linux. However, when I do it on my Mac it builds without the error above.

These may be related: https://github.com/servo/rust-harfbuzz/issues/137 https://github.com/servo/rust-harfbuzz/pull/136

Note that if I build rust-harfbuzz directly from source (as opposed to fetching it as a dependency of skribo), it builds without that error, also on Linux.

raphlinus commented 5 years ago

Yeah, this is biting me too. It's possible to work around it by specifying these dependencies in the Cargo.toml:

[dependencies]
# TODO: will make back-end optional
harfbuzz = "=0.3.0"
harfbuzz-sys = "=0.3.0"

I think it needs to be fixed on the harfbuzz side, I don't believe there's anything I'm doing wrong.

jdm commented 5 years ago

Yes, that will be fixed by https://github.com/servo/rust-harfbuzz/pull/142.

spl commented 5 years ago

FYI, harfbuzz-sys 0.3.2 is out with a fix for this.