Ошибки при компиляции PHP с GD2 и Freetype на Mac Leopard 10.5.6

Я компилирую PHP5.2.9 на Mac OS X 10.5.6. Нужна помощь, чтобы разобраться в этом.

У меня есть компиляция PHP и работа с базовой конфигурацией, и теперь я пытаюсь скомпилировать с помощью GD2. Проблема, с которой я сталкиваюсь, заключается в том, что если я добавлю аргумент для сборки с помощью Freetype, я получаю ошибки сборки. Это моя минимальная конфигурация для демонстрации проблемы. Кроме того, я знаю, что существуют другие требования для libjpeg/libpng и т. д. Я не включаю их прямо сейчас, чтобы упростить задачу.

sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/conf/php \
--enable-fastcgi \
--with-freetype-dir=/usr/local \
--with-gd 

Ошибка:

checking for FT_New_Face in -lfreetype... no
configure: error: Problem with freetype.(a|so). Please check config.log for more information.

Это из журнала ошибок:

configure:36779: gcc -o conftest  -gstabs  -no-cpp-precomp -Wl,-rpath,/usr/loca$
Undefined symbols:
  "_FT_New_Face", referenced from:
      _main in ccgzHTP6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
configure: failed program was:
#line 36768 "configure"
#include "confdefs.h"
/*     Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */

У меня есть freelib-2.1.3, собранная из исходников и установленная в /usr/local/, как я определил в аргументе --with-freetype-dir. Я думаю, что это говорит мне, что он пытается найти файл шрифта, но я не уверен, когда и устанавливается ли такой шрифт.

Если я соберу без Freetype, GD2 соберется и установится, но я хочу, чтобы в моей системе была возможность Freetype. Ниже приведена моя полная настройка конфигурации с опцией Freetype (тот, который не работает!)

sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/conf/php --enable-fastcgi \
--with-jpeg-dir=/usr/local \
--with-png-dir=/usr/local \
--with-zlib-dir=/usr/local \
--enable-gd-native-ttf \
--with-tlib=/usr/local \
--with-freetype-dir=/usr/local \
--with-xpm-dir=/usr/X11R6 \
--with-gd 

person Geuis    schedule 22.04.2009    source источник


Ответы (2)


Хорошо, сделал что-то действительно глупое. Я точно забыл, откуда скачал Freetype2, но версия 2.1.3 устарела НА ГОДЫ. Я только что обновился до 2.3.9, и он отлично компилируется. Бле.

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

person Geuis    schedule 22.04.2009

Установка пользовательской версии PHP, включая нужные расширения, может оказаться непростой задачей. Альтернативой компиляции всего с нуля является использование MacPorts, который предоставляет нужные исходные файлы, зависимости и полностью автоматизирует настройку. , сделать и сделать процесс установки.

В коллекции портов MacPorts присутствует последняя версия PHP и почти все расширения и инструменты. Когда выпускается новая версия PHP, она обычно довольно быстро попадает в MacPorts, что позволяет очень легко обновить установленную версию.

Если вы занимаетесь разработкой LAMP/MAMP, MacPorts также предоставляет последние версии серверов Apache и MySQL.

person Bas Peters    schedule 30.09.2010