tectonic-typesetting / tectonic

A modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.
https://tectonic-typesetting.github.io/
Other
3.98k stars 161 forks source link

Error building: hb-graphite2.h: no such file or directory. #318

Open alejandrogallo opened 5 years ago

alejandrogallo commented 5 years ago

I followed the instructions on the website for ubuntu...

I recorded an asciinema session to show.

https://asciinema.org/a/S1OwTeDe20AAXWQFFbA4Lw4DV

pkgw commented 5 years ago

What version of Ubuntu are you using? It looks like your OS has version 1.0.1 of libharfbuzz-dev, which is quite old.

We actually provide a custom package of harfbuzz for Xenial for use in our CI systems for just this reason: see this PPA.

alejandrogallo commented 5 years ago

Hi! thank you for the answer, yes I'm running Xenial 16.04.6, I'm going to test the ppa now.

For more information, an extract of /etc/os-release:

VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
pkgw commented 5 years ago

Thanks! What's strange to me is that the Tectonic build.rs should try to require harfbuzz >= 1.4, so I'm not sure how your build got to the point where this error was triggered. If I try the procedure that you ran in a fresh Xenial Docker container, I get the intended error:

   Compiling serde_derive v1.0.88
   Compiling tectonic v0.1.11
error: failed to run custom build command for `tectonic v0.1.11`
process didn't exit successfully: `/tmp/cargo-install2AQTgw/release/build/tectonic-82edf7d300c7d38a/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Failure { command: "\"pkg-config\" \"--libs\" \"--cflags\" \"fontconfig harfbuzz >= 1.4 harfbuzz-icu icu-uc freetype2 graphite2 libpng zlib\"", output: Output { status: ExitStatus(ExitStatus(256)), stdout: "", stderr: "Requested \'harfbuzz >= 1.4\' but version of harfbuzz is 1.0.1\n" } }', src/libcore/result.rs:1009:5

Maybe your environment is a bit unusual where you've got a newer, local Harfbuzz installed such that pkg-config finds it, but it doesn't have graphite2 enabled?