user287546
user287546

Reputation: 31

Compiling freetype

While trying to compile freetype 2.6.1 on Ubuntu Linux 86-64, I get the following message at configure step:

/usr/local/include/harfbuzz/hb-common.h:316:29: note: in expansion of macro ‘HB_TAG_MAX’
   _HB_SCRIPT_MAX_VALUE    = HB_TAG_MAX, /*< skip >*/
                             ^
In file included from /home/sem/Downloads/freetype-2.6.1/freetype-2.6.1/src/autofit/afglobal.h:26:0,
                 from /home/sem/Downloads/freetype-2.6.1/freetype-2.6.1/src/autofit/afpic.c:23,
                 from /home/sem/Downloads/freetype-2.6.1/freetype-2.6.1/src/autofit/autofit.c:21:
/home/sem/Downloads/freetype-2.6.1/freetype-2.6.1/src/autofit/hbshim.h:31:19: fatal error: hb-ft.h: No such file or directory
 #include <hb-ft.h>
                   ^
compilation terminated.

What is wrong here?

Upvotes: 2

Views: 9467

Answers (1)

Iyashi
Iyashi

Reputation: 572

Building FreeType can be a bit of a hassle if you don't exactly know what you're doing and without much experience of the required build tools. I ran into this as well and ... then got my experience with build tools :)

You are trying to build FreeType with HarfBuzz support. That, ofcourse, requires HarfBuzz. Actually you'd need a FreeType-supported HarfBuzz build (-> hb-ft.h) in order to build a HarfBuzz-supported FreeType

Here are 2 simple ways I get FreeType to compile without Harfbuzz:

by configure
git clone https://git.savannah.nongnu.org/git/freetype/freetype2.git
cd freetype2
./autogen.sh                   # generates configure
./configure --without-harfbuzz # generates Makefile + deactivates harfbuzz
make                           # compile libs
make install                   # install libs & headers
by cmake
git clone https://git.savannah.nongnu.org/git/freetype/freetype2.git
cd freetype2
mkdir build && cd build
cmake ..      # generates Makefile + deactivates HarfBuzz if not found
make          # compile libs
make install  # install libs & headers

If you want a HarfBuzz supported FreeType build you might want to have a look at this answer

Upvotes: 9

Related Questions