How To: Build Tectonic: Install System Dependencies
Here are quick commands to install Tectonic’s dependencies using various package managers:
- Debian and Ubuntu Linux and related variants
- RHEL, CentOS, and Fedora Linux and related variants
- Homebrew on macOS
- conda on various operating systems
- vcpkg on various operating systems (including Windows)
If none of these fit your needs, you’ll need to figure out the right packages for your particular setup. Tectonic requires the following libraries:
- fontconfig (except on macOS)
- freetype2
- graphite2
- harfbuzz
- ICU4C
- libpng
- zlib
- Whichever SSL library is required for your system by the rust-native-tls crate: probably OpenSSL
Debian and Ubuntu Linux
Install Tectonic’s dependencies with:
sudo apt-get install \
libfontconfig1-dev libgraphite2-dev libharfbuzz-dev libicu-dev libssl-dev zlib1g-dev
RHEL, CentOS, and Fedora Linux
Install Tectonic’s dependencies with:
sudo dnf install \
gcc-c++ fontconfig-devel graphite2-devel harfbuzz-devel libicu-devel openssl-devel zlib-devel
Homebrew on macOS
If you use Homebrew, be aware that you can install Tectonic with it directly!
brew install tectonic
If you want to compile Tectonic yourself, the following command will install the dependencies:
brew install --only-dependencies tectonic
You will also need to make sure that your environment has pkg-config set up to find the Homebrew libraries correctly.
Conda
If you use Conda, be aware that you can install Tectonic with it directly, using the conda-forge channel!
conda install -c conda-forge tectonic
But if you want to compile Tectonic yourself, the following command will install the dependencies:
conda install fontconfig freetype graphite2 harfbuzz icu libpng openssl zlib
You will also need to make sure that your environment has pkg-config set up to find the Conda libraries correctly.
vcpkg
If you wish to use vcpkg to provide Tectonic’s build dependencies, we recommend that you use the cargo-vcpkg tool. But for the record, to install Tectonic’s dependencies through vcpkg directly, you should probably run:
vcpkg install fontconfig freetype "harfbuzz[graphite2]" icu