Ошибки $ PHP_AUTOCONF в mac os x 10.7.3 при попытке установить расширения pecl

108

Я пытаюсь настроить свою машину с помощью pecl_http и memcache, и в обоих случаях я получаю похожие ошибки. Это на MAC OS X 10.7.3 (лев), и у меня также установлен XCODE. Я также установил Zend Server community edition перед запуском этих команд и установил переменные среды CFLAGS = '- arch i386 -arch x86_64'. Так что, пожалуйста, помогите с тем, что мне нужно сделать

bash-3.2# **sudo pecl install pecl_http-1.7.1**
downloading pecl_http-1.7.1.tgz ...
Starting to download pecl_http-1.7.1.tgz (174,098 bytes)
.....................................done: 174,098 bytes
71 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
ERROR: `phpize' failed
Кришна
источник
3
вы пробовали export PHP_AUTOCONF=/usr/bin/autoconfперед запуском команды? Конечно, если $PHP_AUTOCONFпредположить, что это локализация для двоичного файла autoconf, его следовало бы найти, но, возможно, ему просто нужна небольшая помощь :-)
prodigitalson
@prodigitalson в этом пути нет / usr / bin / autoconf. Вы думаете, это могло быть причиной? Как мне тогда установить autoconf? Спасибо.
Кришна
1
Ага, тогда вам понадобится autoconf. Вот, странно, что он есть и на моем 10.7, и на моем 10.6. Думаю, вам придется скачать и собрать его вручную. Или вы могли бы просто выбрать легкий путь и использовать Macports, Homebrew или Fink.
prodigitalson
Я пробовал получить домашнее пиво и порты, но все равно не помогло. Затем я попытался перейти с XCODE 4.3 на 4.2.1, и с тех пор все работает отлично. Больше никаких ошибок :). Я обновил свой ответ
Кришна
1
Я обновил XCode, и у меня была такая же проблема, пока я не добавил / Developer / usr / bin / в $ PATH.
Эдуардо Ромеро

Ответы:

309
brew install autoconf

Намного более простое решение

Боб Сприн
источник
2
«sudo brew install autoconf» иначе не будет привязан, потому что у вас нет разрешений, и это может выглядеть так, как будто оно не работает.
Mc-
25
Вы не должны ничего устанавливать с помощью sudo brew. На самом деле я думаю, что в наши дни это не удается.
Боб Сприн
Если у вас не установлен brew, вы можете сделать это отсюда brew.sh/index_es.html
Рикардо,
У меня тоже была та же проблема, что и у @krishna. Я сделал это, как вы сказали, подал в суд на brew, и я также создал переменную, export PHP_AUTOCONF=/usr/bin/autoconfчтобы убедиться, что она работает нормально. Только что отредактировал php.iniдобавление extension=apcu.soв конце.
Joab Mendes
затем "brew link autoconf", чтобы сделать его доступным для операционной системы и phpize.
txyoji
93

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

curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz
tar xzf autoconf-latest.tar.gz
cd autoconf-*
./configure --prefix=/usr/local
make
sudo make install

Я только что прошел через это с Mountain Lion.

Арес
источник
3
За эти наркотики - НРАВИТСЯ! - кто плохо знаком с Mac-World - убедитесь, что вы сделали все вышеизложенное в папке / usr / bin /.
Билл Ортелл
6
Это НЕ ОБЯЗАТЕЛЬНО делать внутри папки / usr / bin. Если вы понимаете данные команды, вы заметите, что загружаете некоторые файлы (curl), распаковываете их (tar), настраиваете установку в соответствии с потребностями вашего компьютера (./configure), компилируете ее (make) и устанавливаете библиотеку (make install) . При установке следует позаботиться о копировании файлов, где бы они ни находились. Тем не менее, очень важно, чтобы вы выполняли последнюю команду «sudo», чтобы получить разрешения, необходимые для копирования этих файлов.
Ares
2
@Kevin, Значит, при использовании wildcard автоматически выберется версия "выше"? Я кое-что узнал сегодня!
Арес
1
@Ares Ссылка на tar-файл мертва.
Сет,
1
Я потратил больше времени, чем мог бы признаться, чтобы понять это. Вы спасли день. Это работает и 10.12.x
TheValyreanGroup
55

В Mac OS X 10.8 ситуация несколько иная. Решение, получившее высокую оценку от Боба Сприна, не работает, потому что оно не создает символических ссылок, поэтому после установкиautoconf вы должны сделать их:

sudo ln -s /usr/local/Cellar/autoconf/2.69/bin/autoconf /usr/bin/autoconf
sudo ln -s /usr/local/Cellar/autoconf/2.69/bin/autoheader /usr/bin/autoheader

Я знаю, что этот вопрос был для 10.7, но надеюсь, что мой ответ будет полезен для кого-то на 10.8. :)

Обновлено: также работает на 10.10 Yosemite.

Антон Бабенко
источник
1
Спасибо за это @ anton-babenko, после установки autoconfс homebrew.
Huafu,
Это исправление для обновленной osx, где ранее были установлены autoconf и brew.
Хосе Муанис
1
Работал у меня на Йосемити
markwalker_
Получение следующее сообщение об ошибке на El Capitan: sudo ln -s /usr/local/Cellar/autoconf/2.69/bin/autoconf /usr/bin/autoconf ln: /usr/bin/autoconf: Operation not permitted. Любая идея?
Арун Гупта
Работал у меня 14.10
Бхарат Моди
15

или

sudo port install autoconf

если вы используете macports

Stoefln
источник
4

XCODE 4.3 не помещает все инструменты autoconf и т. Д. В папку разработчика. Он даже не создает эту папку в MACINTOSH HD. Мне пришлось перейти на версию XCODE 4.2.1, которая устанавливает все необходимое в папке разработчика, и теперь я не вижу ошибок.

Также вот полезная ссылка .

Кришна
источник
0

возможно вам понадобится связать autoconf с brew link autoconf.

Jichao
источник