在构建 GD 时必须找到的自定义目录中构建 freetype2

Building freetype2 in a custom directory which must be found when building GD

在我的 Ubuntu 16.04 上,我正在尝试构建 freetype-2.8libgd-2.2.4

以下是我构建 freetype2 的方法:

./configure \
  --prefix=/home/stephane/programs/install \
  --with-bzip2
make
make install
make clean

以下是我构建 libgd 的方式:

./configure \
  --prefix=/home/stephane/programs/install \
  --with-jpeg=/home/stephane/programs/install \
  --with-png=/home/stephane/programs/install \
  --with-freetype=/home/stephane/programs/install \
  --with-zlib=/home/stephane/programs/install \
  --with-xpm

configure 命令报告它发现 freetype2:

 Support for Freetype 2.x library: yes

但是 make 失败并出现错误:

gdft.c:154:22: fatal error: ft2build.h: No such file or directory

我可以看到 freetype2 安装在以下目录中:

$ ll /home/stephane/programs/install/lib/libfreetype.*
-rw-r--r-- 1 stephane stephane 6752986 août  11 06:39 /home/stephane/programs/install/lib/libfreetype.a
-rwxr-xr-x 1 stephane stephane    1068 août  11 06:39 /home/stephane/programs/install/lib/libfreetype.la*
lrwxrwxrwx 1 stephane stephane      21 août  11 06:39 /home/stephane/programs/install/lib/libfreetype.so -> libfreetype.so.6.14.0*
lrwxrwxrwx 1 stephane stephane      21 août  11 06:39 /home/stephane/programs/install/lib/libfreetype.so.6 -> libfreetype.so.6.14.0*
-rwxr-xr-x 1 stephane stephane 3219752 août  11 06:39 /home/stephane/programs/install/lib/libfreetype.so.6.14.0*

$ ll /home/stephane/programs/install/include/freetype2/
total 16
drwxrwxr-x 3 stephane stephane 4096 août  11 06:39 ./
drwxrwxr-x 4 stephane stephane 4096 août  11 06:59 ../
drwxrwxr-x 3 stephane stephane 4096 août  11 06:39 freetype/
-rw-r--r-- 1 stephane stephane 2383 août  11 06:39 ft2build.h

并且 /home/stephane/programs/install/include/ 目录中没有 freetype2 个头文件:

$ ll /home/stephane/programs/install/include/
total 252
drwxrwxr-x 4 stephane stephane  4096 août  11 06:59 ./
drwxrwxr-x 9 stephane stephane  4096 août  10 23:20 ../
drwxrwxr-x 3 stephane stephane  4096 août  11 06:39 freetype2/
-rw-r--r-- 1 stephane stephane  1757 août  11 00:24 jconfig.h
-rw-r--r-- 1 stephane stephane 14580 août  11 00:24 jerror.h
-rw-r--r-- 1 stephane stephane 14925 août  11 00:24 jmorecfg.h
-rw-r--r-- 1 stephane stephane 49287 août  11 00:24 jpeglib.h
drwxrwxr-x 2 stephane stephane  4096 août  11 05:59 libpng16/
lrwxrwxrwx 1 stephane stephane    18 août  11 05:59 pngconf.h -> libpng16/pngconf.h
lrwxrwxrwx 1 stephane stephane    14 août  11 05:59 png.h -> libpng16/png.h
lrwxrwxrwx 1 stephane stephane    21 août  11 05:59 pnglibconf.h -> libpng16/pnglibconf.h
-rw-r--r-- 1 stephane stephane 35028 août  11 06:49 t1tables.h
-rw-r--r-- 1 stephane stephane 16262 août   5 14:37 zconf.h
-rw-r--r-- 1 stephane stephane 96239 août   5 14:37 zlib.h

如何让 freetype2 在预期的 include 目录中安装其头文件?

注意:我知道我可以使用 sudo apt-get install -y libfreetype6-dev 安装软件包,但这不是我想要的。我想自己搭建。

我将 GD 版本升级到 libgd-2.2.5,但仍然出现完全相同的错误。

通过使用 freetype2.7.1 版本,我可以很好地构建 GD。

freetype 中从 freetype-2.7.1freetype-2.8.* 发生了一些变化,破坏了 libgd-2.2.4libgd-2.2.5 的构建。