Когда я пытаюсь сделать php с помощью --with-gd, я получаю сообщение об ошибке configure: error: libpng.(a|so) not found. Что не так?

До сих пор я устанавливал libpng и libjpeg с DarwinPorts (я работаю на OS X Leopard), но, похоже, это не помогло. Я читал во многих местах, что вам также нужны файлы разработки (например, libpng-devel и т. д.), чтобы это работало. Я немного потерян. Может ли кто-нибудь помочь мне понять, что я должен делать? Я буду рад предоставить любую дополнительную информацию, которая необходима.

Моя конфигурация для PHP выглядит так:

./configure '--with-png-dir=/usr/local' '--with-jpeg-dir=/usr/local' '--with-gd'

и я пытаюсь установить PHP 5.2.9. Я заставил make работать без опции --with-gd. Я также копировал то, что нашел на разных сайтах, так что, возможно, я делаю что-то не так.


person Bialecki    schedule 20.04.2009    source источник
comment
Это помогло мне, когда я создавал модули Perl. Создал ли libpng что-то под названием libpng.conf или что-то подобное?   -  person ojblass    schedule 20.04.2009


Ответы (2)


Эта ошибка указывает на то, что файл libpng.so или libpng.a не найден. Эти файлы создаются при компиляции libpng.

Я мало что знаю о способе установки в Mac OS X, но если вы хотите сделать это так же, как в Mac OS X, вам, вероятно, потребуется найти и установить этот пакет libpng-devel.

В противном случае вам нужно будет взять исходный код libpng и скомпилировать его самостоятельно. Это зависит от zlib, для которого у вас, вероятно, уже есть разделяемые библиотеки, но если нет, вам придется получить и его.

Вот руководство по компиляции libpng в Mac OS Х. У него есть Makefile для Darwin (не знаю, зачем он нужен, но попробовать стоит).

person thomasrutter    schedule 20.04.2009
comment
Я только что попробовал это, я думаю, что проблема, с которой я столкнулся сейчас, заключается в том, что я просто не знаю, где найти пакет libpng-devel. Я сделал быстрый поиск Fink, но я не могу найти его. Если кто-то знает, где я могу скачать это, очень признателен. - person Bialecki; 20.04.2009

Я полагаю, что MacPorts по умолчанию устанавливается в /opt/local, а не в /usr/local? Может, вместо этого попробовать /opt/local?

Если у вас есть fink, вот что я сейчас использую (так что я знаю, что это работает)

Вот пакеты fink, которые я установил.

 i  libpng3 1:1.2.29-1  PNG image format handling library
 i  libpng3-shlibs  1:1.2.29-1  Shared libraries for libpng3 package

 i  libjpeg 6b-17   JPEG image format handling library
 i  libjpeg-bin 6b-17   Executables for libjpeg package
 i  libjpeg-shlibs  6b-17   Shared libraries for libjpeg package

Затем, чтобы настроить те части моего php, которые я использую

'--with-gd' \
'--with-jpeg-dir=/sw' \
'--with-png-dir=/sw' \
person linead    schedule 23.07.2009