Проверка ошибки конфигурации freetype2 при установке PHP 5.6.37 из AUR

Вопрос или проблема

Я пытаюсь установить версию PHP 5.6.37 из AUR с помощью команды makepkg -i, но когда доходит до проверки “freetype2”, появляется ошибка:

проверка freetype2… configure: ошибка: freetype-config не найден.

У меня уже установлена версия 7.2, но мне нужна 5.6 для старого проекта, и, как и в Ubuntu, я собираюсь установить обе.

makepkg -i
==> Создание пакета: php56 5.6.37-1 (ср. 12 сен 2018 12:27:39 +08)
==> Проверка зависимостей времени выполнения...
==> Проверка зависимостей времени сборки...
==> Получение исходников...
  -> Найден php-5.6.37.tar.xz
  -> Найден php-5.6.37.tar.xz.asc
  -> Найден php.ini.patch
  -> Найден apache.conf
  -> Найден php-fpm.conf.in.patch
  -> Найден logrotate.d.php-fpm
  -> Найден php-fpm.service
  -> Найден php-fpm.tmpfiles
  -> Найден use-enchant2.patch
  -> Найден php-freetype-2.9.1.patch
==> Проверка целостности исходных файлов с помощью sha512sums...

[...]

проверка необходимости включения функции truetype в GD... да
проверка необходимости включения поддержки японских шрифтов сJIS в GD... нет
Если configure завершится ошибкой, попробуйте --with-vpx-dir=<DIR>
проверка jpeg_read_header в -ljpeg... да
проверка png_write_image в -lpng... да
проверка XpmFreeXpmImage в -lXpm... да
проверка pkg-config... (кэшировано) нет
проверка freetype2... configure: ошибка: freetype-config не найден.
==> ОШИБКА: Произошла ошибка в build().
    Прерывание...

Установка freetype2 с помощью Pacman не решила проблему.

Я это исправил.

Сначала я установил pkg-config
а затем заменил в PKGBUILD строку:

--with-freetype-dir=/usr \

на

--with-freetype-dir=/usr/include/freetype \ 

Я не уверен, какая из двух строк решает проблему, или обе.

sudo pacman -S pkgconf

работает для меня.

Ответ или решение

При установке PHP 5.6.37 из AUR (Arch User Repository) на Arch Linux, вы можете столкнуться с ошибкой, связанной с отсутствием конфигурации FreeType2. В данном случае ошибка, указывающая на отсутствие freetype-config, указывает на то, что система не может найти файловую конфигурацию библиотеки FreeType.

Возможные причины и решения проблемы

1. Отсутствие установленных зависимостей

Ошибка freetype-config not found обычно возникает, если пакет freetype2 не установлен или не настроен должным образом. Хотя вы упомянули, что установили freetype2 с помощью Pacman, важно убедиться, что у вас также установлен пакет pkg-config, который нужен для автоматического обнаружения и настройки библиотек.

Решение:

sudo pacman -S pkgconf

Установка pkg-config может решить проблему, так как он используется для определения местоположения установленных библиотек и их файлов конфигурации.

2. Изменение файла PKGBUILD

Вы также упомянули, что в файле PKGBUILD заменили строку:

--with-freetype-dir=/usr \

на:

--with-freetype-dir=/usr/include/freetype \

Это изменение указывает компилятору на правильное местоположение заголовочных файлов FreeType. Если проблема заключалась в неверном пути, то данное изменение могло привести к успешной сборке.

Проверка установки

После внесения изменений убедитесь, что ваше окружение полностью обновлено, а все необходимые пакеты установлены. Выполните следующие команды для проверки:

sudo pacman -Syu
sudo pacman -S freetype2 pkgconf

Подведение итогов

Скорее всего, проблемой было отсутствие pkg-config, и ваше исправление в PKGBUILD также помогло указать на правильный путь к заголовочным файлам FreeType. Важно проверить каждую из зависимостей и убедиться, что они правильно установлены и настроены. Это поможет избежать подобных проблем в будущем.

Чтобы улучшить ваш опыт работы с AUR и решения подобных зависимостей, рекомендуется более детально ознакомиться с документацией Arch Linux и AUR. Kурс на изучение структуры зависимостей и систем сборки значительно упростит вашу жизнь в будущем.

Если у вас возникнут дополнительные вопросы или проблемы с установкой других пакетов, не стесняйтесь обращаться на форумы Arch Linux или искать помощь в соответствующих сообществах.

Оцените материал
Добавить комментарий

Капча загружается...