Ошибка установки: ftheader.h: Нет такого файла или каталога

Когда я пытаюсь построить matplotlib-1.3.1, я получаю ниже ошибки заголовка freetype. Вероятно, он не находит ftheader.h. Любая идея о том, как решить эту проблему?

ПРИМЕЧАНИЕ. Я только что установил Freetype-2.5.0.1 в соответствии с инструкциями, указанными в FreeType Install, потому что вручную создание Matplotlib-1.3.1 из источника было неудачным из-за требуемого пакета freetype, который не был найден изначально.

In file included from src/ft2font.h:16,
             from src/ft2font.cpp:3:
/usr/include/ft2build.h:56:38: error: freetype/config/ftheader.h: No such file or directory
In file included from src/ft2font.cpp:3:
src/ft2font.h:17:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:18:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:19:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:20:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:21:10: error: #include expects "FILENAME" or <FILENAME>
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_algobase.h:69,
             from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/char_traits.h:41,
             from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/string:42,
             from ./CXX/Python2/Exception.hxx:46,
             from ./CXX/Exception.hxx:40,
             from ./CXX/Python2/Objects.hxx:44,
             from ./CXX/Python2/Extensions.hxx:52,
             from ./CXX/Extensions.hxx:40,
             from src/ft2font.h:6,
             from src/ft2font.cpp:3:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:91: error: expected template-name before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:91: error: expected ‘{’ before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:91: error: expected unqualified-id before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:390: error: expected template-name before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:390: error: expected ‘{’ before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:390: error: expected unqualified-id before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:474: error: expected template-name before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:474: error: expected ‘{’ before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:474: error: expected unqualified-id before ‘<’ token

Я попытался запустить sudo yum install *-devel в новом vm, у которого не установлено ни numpy/scipy/matplotlib; но получите следующее сообщение об ошибке, которое я получил также на моем предыдущем изображении VM. Является ли это проблемой, специфичной для VM, которую я использую? Примечание. Я использую Hortonworks Sandbox v1.3 для Oracle VirtualBox VM

Error: metis conflicts with cmake-2.6.4-5.el6.x86_64
Error: php-pecl-apcu conflicts with php-pecl-apc-3.1.9-2.el6.x86_64
Error: cpupowerutils-devel conflicts with cpufrequtils-devel-007-6.el6.x86_64
Error: Package: libgendersplusplus-1.20-1.el6.x86_64 (HDP-epel)
       Requires: libgenders(x86-64) = 1.20-1.el6
       Installing: libgenders-1.14-2.el6.rf.x86_64 (HDP-UTILS-1.1.0.15)
           libgenders(x86-64) = 1.14-2.el6.rf
Error: zeromq3-devel conflicts with zeromq-devel-2.2.0-4.el6.x86_64
Error: Package: rubygem-passenger-devel-3.0.21-5.el6.x86_64 (HDP-epel)
       Requires: rubygem(passenger) = 3.0.21-5.el6
       Available: 1:rubygem-passenger-3.0.12-1.el6.x86_64 (HDP-UTILS-1.1.0.15)
           rubygem(passenger) = 3.0.12
Error: Package: libgenders-devel-1.20-1.el6.x86_64 (HDP-epel)
       Requires: libgenders(x86-64) = 1.20-1.el6
       Installing: libgenders-1.14-2.el6.rf.x86_64 (HDP-UTILS-1.1.0.15)
           libgenders(x86-64) = 1.14-2.el6.rf
Error: php-pecl-apcu-devel conflicts with php-pecl-apc-devel-3.1.9-2.el6.x86_64
Error: Package: libgenders-devel-1.20-1.el6.x86_64 (HDP-epel)
       Requires: libgenders(x86-64) = 1.20-1.el6
       Available: libgenders-1.14-2.el6.rf.x86_64 (HDP-UTILS-1.1.0.15)
           libgenders(x86-64) = 1.14-2.el6.rf
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Просмотр исходного дерева в /usr/share/doc дает оценку пакетов и их версий, которые предварительно устанавливаются в песочнице. Примечание. Вы можете четко видеть freetype-2.3.11 в списке и множество других пакетов lib, которые могут быть конфликтующими при установке * -dev

acl-2.2.49                           foomatic-db-4.0                  libedit-2.11               mpfr-2.4.1                   python-setuptools-0.6.10
acpid-1.0.10                         fping-2.4b2                      libffi-3.0.5               mx4j-3.0.1                   python-urlgrabber-3.9.1
alsa-lib-1.0.22                      freetype-2.3.11                  libfontenc-1.0.5           mysql-5.1.69                 qt3-3.3.8b
apache-tomcat-apis-0.1               fuse-2.8.3                       libgcc-4.4.7               mysql-connector-java-5.1.17  qt4
apr-1.3.9                            gamin-0.1.10                     libgcrypt-1.4.5            mysql-libs-5.1.69            qt-4.6.2
apr-util-1.3.9                       gawk-3.1.7                       libgomp-4.4.7              mysql-server-5.1.69          readline-6.0
at-3.1.10                            gcc-4.4.7                        libgpg-error-1.7           nagios-3.2.3                 redhat-logos-60.0.14
atk-1.28.0                           gd-2.0.35                        libgudev1-147              nagios-plugins-1.4.9         redhat-release
attr-2.4.44

Ответ 1

Для Mac OS 10.6.8

sudo ln -s /usr/X11/include/freetype2/freetype /usr/X11/include/.

Кажется, нужно сделать трюк... Если вы посмотрите на /usr/X 11/include/ft2build.h, кажется, что это действительно проблема с этим файлом заголовка и способом свободного типа, а не matplotlib проблема.

Ответ 2

После установки (правильно) пакета разработки заголовки Freetype должны находиться в $(includedir)/freetype/freetype2 и $(includedir)/freetype2/freetype/config, за исключением ft2build.h, который находится в $(includedir).

Из сообщения, которое вы показали, действительно, есть файл ft2build.h в /usr/include (естественное место для $(includedir)), но остальные заголовки не находятся в правильном месте.

Я не знаю точно, как исправить это, поскольку это, вероятно, проблема с вашим конкретным дистрибутивом и тем, как вы его установили, но я считаю, что наиболее естественным решением является удаление (правильно) пакета freetype-dev[el], а затем повторное -установите его, используя, конечно, версию с дистрибутивом, которая соответствует вашему установленному .so, по-видимому, 2.3.11.

Установка Freetype 2.5.0.1 не поможет вам, пока вы не создадите библиотеку, а затем установите ее в своей системе; только тогда у вас будут заголовки, установленные в $(includedir) и его подкаталогах.