「PECLが使えねー!」と発狂した記録です。
何はともあれPEARをインストール
cd /usr/lib/php
sudo php install-pear-nozlib.phar
sudo pear channel-update pear.php.net
sudo pecl channel-update pecl.php.net
sudo pear upgrade-all
順調に行ったのはここまで。
コンパイラがない
$ sudo pecl install xdebug
downloading xdebug-2.1.3.tgz ...
Starting to download xdebug-2.1.3.tgz (307,557 bytes)
................................................................done: 307,557 bytes
66 source files, building
running: phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
configure.in:3: warning: prefer named diversions
configure.in:3: warning: prefer named diversions
building in /private/tmp/pear/temp/pear-build-root4omLdZ/xdebug-2.1.3
running: /private/tmp/pear/temp/xdebug/configure
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... no
checking for gcc... no
configure: error: in `/private/tmp/pear/temp/pear-build-root4omLdZ/xdebug-2.1.3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
ERROR: `/private/tmp/pear/temp/xdebug/configure' failed
なんかエラー出ました。
$ gcc
-bash: gcc: command not found
gccがないらしいです。
コンパイラが動かない
export PATH=$PATH:/Applications/Xcode.app/Contents/Developer/usr/bin
Xcodeの中の方にあったので、パスを通します。
$ sudo pecl install xdebug
downloading xdebug-2.1.3.tgz ...
Starting to download xdebug-2.1.3.tgz (307,557 bytes)
................................................................done: 307,557 bytes
66 source files, building
running: phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
configure.in:3: warning: prefer named diversions
configure.in:3: warning: prefer named diversions
building in /private/tmp/pear/temp/pear-build-rootyq3mvr/xdebug-2.1.3
running: /private/tmp/pear/temp/xdebug/configure
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... no
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/private/tmp/pear/temp/pear-build-rootyq3mvr/xdebug-2.1.3':
configure: error: C compiler cannot create executables
See `config.log' for more details
ERROR: `/private/tmp/pear/temp/xdebug/configure' failed
「Cコンパイラが動いてない」というエラーが出ました。涙目。
ログを読む
「config.logを読め」と出ていますが、エラー後の終了処理で削除されてしまっています。pecl使わずにインストールしてみてconfig.logを獲得しました。
ld: library not found for -lcrt1.10.6.o collect2: ld returned 1 exit status
このあたりが怪しいけれど、もうお手上げです・・・。
全然関係ないかもしれないけれど、「10.6」という数字を見て、最近Snow Leopard(10.6)からLion(10.7)に移行したので、それがいけないんじゃないかと思いました。(移行アシスタントが裏目?)
あきらめて最初からやり直し
諦めてxcodeをアンインストールして再インストールすることを決断します。アンインストールスクリプトがどこにあるかわからないので、検索して実行です。
find / -name uninstall*
sudo /Developer/Library/uninstall-developer-folder
sudo rm -rf /Applications/Xcode.app
そしてMac App Storeから再インストール。
設定からCommand Line Toolsなどもインストールします。
$ gcc
i686-apple-darwin11-llvm-gcc-4.2: no input files
これでgccがちゃんと入ります。さっき無駄に通したパスももはや不要です。
3度目の正直
$ sudo pecl install memcached
downloading memcached-2.0.1.tgz ...
Starting to download memcached-2.0.1.tgz (39,088 bytes)
..........done: 39,088 bytes
11 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
autoconf的なものがないと怒られました。こんなにはまりこんでいるのに、まだ解放されないとは・・・。
最後の一押し
mkdir -p /private/tmp/src
cd /private/tmp/src
curl -O http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
sudo ./configure
sudo make
sudo make install
cd ../
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
sudo ./configure
sudo make
sudo make install
入れました。
$ sudo pecl install xdebug
downloading xdebug-2.2.0RC1.tgz ...
Starting to download xdebug-2.2.0RC1.tgz (244,336 bytes)
..................................................done: 244,336 bytes
66 source files, building
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
building in /private/tmp/pear/temp/pear-build-rootROFJ2j/xdebug-2.2.0RC1
running: /private/tmp/pear/temp/xdebug/configure
...(略)...
Build process completed successfully
Installing '/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.2.0RC1
configuration option "php_ini" is not set to php.ini location
You should add "extension=xdebug.so" to php.ini
通った!(ここまで6時間くらい)
あとはphp.iniに設定を追加して再起動して終わりです。
sudo vim /etc/php.ini
sudo /usr/sbin/apachectl restart
またいつかはまりそうな気がするので、メモです。綺麗な状態からならXcodeインストールするだけで普通にできるという話ですが・・・。
コメント