Как удовлетворить требуемые зависимости для установки расширения expect pecl на Mac OS X?

Как удовлетворить требуемые зависимости для установки расширения expect pecl на Mac OS X?

Я пытаюсь установить расширение expect pecl.

Версия ОС = 10.7.3
PHP версии 5.3.10 установлена ​​через macports,
ожидается версия 5.45 установлена ​​через macports

Команда, которую я выполняю:

sudo pecl -d preferred_state=beta install expect

терпит неудачу сld: library not found for -lexpect

Файл libexpect5.45.dylibнаходится в /opt/local/lib. Полный вывод команды install —здесь.

Насколько я могу судить, pecl просто не может найти библиотеку libexpect, я даже пробовал добавлять:

LD_LIBRARY_PATH=/opt/local/lib/expect5.45
LD_LIBRARY_PATH=/System/Library/Tcl/8.5/expect5.45
LD_LIBRARY_PATH=/opt/local/lib

В каждом месте есть expect5.45.dylibфайл. Это не помогло. Может кто-нибудь помочь мне разобраться, как установить это расширение?

решение1

LD_LIBRARY_PATHне используется в OS X, и эквивалентная переменная окружения не влияет ld(и может нарушить другие вещи, так как в отличие от Linux это полный путь к библиотеке, что означает, что критические библиотеки, такие как , libSystem.dylibбольше не будут найдены; с другой стороны, sudoочищает свое окружение, поэтому оно в любом случае не будет работать). Кроме того, это имя библиотеки не будет соответствовать -lexpect.

Если это имеет значение, port contents expectна моей системе Lion показывает /opt/local/lib/libexpect.aстатическую библиотеку (и libexpect5.45.a), но нет dylib. Вы уверены, что она установлена ​​правильно? Проверьте вывод port contents expect.

решение2

Хорошо, благодаря устранению неполадок и проницательности от @geekosaur ответ таков: "pecl не генерирует правильный скрипт libtool для установки этого расширения на MacOSX", по крайней мере, на моей установке. Я действительно ценю обсуждение и устранение неполадок. Конечно, мой следующий вопрос будет: "Как мне исправить скрипт установки pecl?" Но это для другой доски... :)

Связанный контент