2012-03-01 38 views
1

ico8をpeclでインストールするときに、次のエラーが発生します。peclでOCI8をコンパイルする際のエラー

私はMac OS Xのライオンを使ってMAMP(PHP5.3.6)を実行しています。 PEAR & peclが正しくインストールされているようです。

私は何時間も探していて、それを修正するように見えず、それに関する情報を見つけることができないようです。誰かアイデア?

$ sudo pecl install oci8 
downloading oci8-1.4.7.tgz ... 
Starting to download oci8-1.4.7.tgz (168,584 bytes) 
.....................................done: 168,584 bytes 
10 source files, building 
WARNING: php_bin /Applications/MAMP/bin/php/php5.3.6/bin/php appears to have a suffix /php5.3.6/bin/php, but config variable php_suffix does not match 
running: phpize 
Configuring for: 
PHP Api Version:   20090626 
Zend Module Api No:  20090626 
Zend Extension Api No: 220090626 
Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] : instantclient,/usr/local/instantclient 
building in /private/tmp/pear/install/pear-build-rootKYpQWs/oci8-1.4.7 
running: /private/tmp/pear/install/oci8/configure --with-oci8=instantclient,/usr/local/instantclient 
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... cc 
checking for C compiler default output file name... a.out 
checking whether the C compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables... 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether cc accepts -g... yes 
checking for cc option to accept ISO C89... none needed 
checking how to run the C preprocessor... cc -E 
checking for icc... no 
checking for suncc... no 
checking whether cc understands -c and -o together... yes 
checking for system library directory... lib 
checking if compiler supports -R... no 
checking if compiler supports -Wl,-rpath,... yes 
checking build system type... i386-apple-darwin11.3.0 
checking host system type... i386-apple-darwin11.3.0 
checking target system type... i386-apple-darwin11.3.0 
checking for PHP prefix... /Applications/MAMP/bin/php/php5.3.6 
checking for PHP includes... -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib 
checking for PHP extension directory... /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626 
checking for PHP installed headers prefix... /Applications/MAMP/bin/php/php5.3.6/include/php 
checking if debug is enabled... no 
checking if zts is enabled... no 
checking for re2c... no 
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers. 
checking for gawk... no 
checking for nawk... no 
checking for awk... awk 
checking if awk is broken... no 
checking for Oracle Database OCI8 support... yes, shared 
checking PHP version... 5.3.6, ok 
checking for ANSI C header files... yes 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking size of long int... 8 
checking checking if we're on a 64-bit platform... yes 
checking Oracle Instant Client directory... /usr/local/instantclient 
checking Oracle Instant Client SDK header directory... /usr/local/instantclient/sdk/include 
checking Oracle Instant Client library version compatibility... 10.1 
checking for ld used by cc... /usr/bin/ld 
checking if the linker (/usr/bin/ld) is GNU ld... no 
checking for /usr/bin/ld option to reload object files... -r 
checking for BSD-compatible nm... /Applications/Xcode.app/Contents/Developer/usr/bin/nm 
checking whether ln -s works... yes 
checking how to recognize dependent libraries... pass_all 
checking dlfcn.h usability... yes 
checking dlfcn.h presence... yes 
checking for dlfcn.h... yes 
checking the maximum length of command line arguments... 196608 
checking command to parse /Applications/Xcode.app/Contents/Developer/usr/bin/nm output from cc object... ok 
checking for objdir... .libs 
checking for ar... ar 
checking for ranlib... ranlib 
checking for strip... strip 
checking for dsymutil... dsymutil 
checking for nmedit... nmedit 
checking for -single_module linker flag... yes 
checking for -exported_symbols_list linker flag... yes 
checking if cc supports -fno-rtti -fno-exceptions... yes 
checking for cc option to produce PIC... -fno-common 
checking if cc PIC flag -fno-common works... yes 
checking if cc static flag -static works... no 
checking if cc supports -c -o file.o... yes 
checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes 
checking dynamic linker characteristics... darwin11.3.0 dyld 
checking how to hardcode library paths into programs... immediate 
checking whether stripping libraries is possible... yes 
checking if libtool supports shared libraries... yes 
checking whether to build shared libraries... yes 
checking whether to build static libraries... no 

creating libtool 
appending configuration tag "CXX" to libtool 
configure: creating ./config.status 
config.status: creating config.h 
running: make 
/bin/sh /private/tmp/pear/install/pear-build-rootKYpQWs/oci8-1.4.7/libtool --mode=compile cc -I. -I/private/tmp/pear/install/oci8 -DPHP_ATOM_INC -I/private/tmp/pear/install/pear-build-rootKYpQWs/oci8-1.4.7/include -I/private/tmp/pear/install/pear-build-rootKYpQWs/oci8-1.4.7/main -I/private/tmp/pear/install/oci8 -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -I/usr/local/instantclient/sdk/include -DHAVE_CONFIG_H -g -O2 -c /private/tmp/pear/install/oci8/oci8.c -o oci8.lo 
mkdir .libs 
cc -I. -I/private/tmp/pear/install/oci8 -DPHP_ATOM_INC -I/private/tmp/pear/install/pear-build-rootKYpQWs/oci8-1.4.7/include -I/private/tmp/pear/install/pear-build-rootKYpQWs/oci8-1.4.7/main -I/private/tmp/pear/install/oci8 -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -I/usr/local/instantclient/sdk/include -DHAVE_CONFIG_H -g -O2 -c /private/tmp/pear/install/oci8/oci8.c -fno-common -DPIC -o .libs/oci8.o 
In file included from /private/tmp/pear/install/oci8/oci8.c:35: 
In file included from /Applications/MAMP/bin/php/php5.3.6/include/php/main/php.h:34: 
In file included from /Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend.h:237: 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:55:1: error: unknown type name 'ZEND_API' 
ZEND_API char *zend_strndup(const char *s, unsigned int length) ZEND_ATTRIBUTE_MALLOC; 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:55:10: error: expected identifier or '(' 
ZEND_API char *zend_strndup(const char *s, unsigned int length) ZEND_ATTRIBUTE_MALLOC; 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:57:1: error: unknown type name 'ZEND_API' 
ZEND_API void *_emalloc(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC; 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:57:10: error: expected identifier or '(' 
ZEND_API void *_emalloc(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC; 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:58:1: error: unknown type name 'ZEND_API' 
ZEND_API void *_safe_emalloc(size_t nmemb, size_t size, size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC; 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:58:10: error: expected identifier or '(' 
ZEND_API void *_safe_emalloc(size_t nmemb, size_t size, size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC; 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:59:1: error: unknown type name 'ZEND_API' 
ZEND_API void *_safe_malloc(size_t nmemb, size_t size, size_t offset) ZEND_ATTRIBUTE_MALLOC; 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:59:10: error: expected identifier or '(' 
ZEND_API void *_safe_malloc(size_t nmemb, size_t size, size_t offset) ZEND_ATTRIBUTE_MALLOC; 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:60:1: error: unknown type name 'ZEND_API' 
ZEND_API void _efree(void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:60:10: error: expected identifier or '(' 
ZEND_API void _efree(void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:61:1: error: unknown type name 'ZEND_API' 
ZEND_API void *_ecalloc(size_t nmemb, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC; 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:61:10: error: expected identifier or '(' 
ZEND_API void *_ecalloc(size_t nmemb, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC; 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:62:1: error: unknown type name 'ZEND_API' 
ZEND_API void *_erealloc(void *ptr, size_t size, int allow_failure ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:62:10: error: expected identifier or '(' 
ZEND_API void *_erealloc(void *ptr, size_t size, int allow_failure ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:63:1: error: unknown type name 'ZEND_API' 
ZEND_API void *_safe_erealloc(void *ptr, size_t nmemb, size_t size, size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:63:10: error: expected identifier or '(' 
ZEND_API void *_safe_erealloc(void *ptr, size_t nmemb, size_t size, size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:64:1: error: unknown type name 'ZEND_API' 
ZEND_API void *_safe_realloc(void *ptr, size_t nmemb, size_t size, size_t offset); 
^ 
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:64:10: error: expected identifier or '(' 
ZEND_API void *_safe_realloc(void *ptr, size_t nmemb, size_t size, size_t offset); 
     ^
/Applications/MAMP/bin/php/php5.3.6/include/php/Zend/zend_alloc.h:65:1: error: unknown type name 'ZEND_API' 
ZEND_API char *_estrdup(const char *s ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC; 
^ 
fatal error: too many errors emitted, stopping now [-ferror-limit=] 
20 errors generated. 
make: *** [oci8.lo] Error 1 
ERROR: `make' failed 
+0

あなたは[Oracleインスタントクライアント]を持っていますか(http://www.oracle.com/technology/tech/oci/instantclient/index.html)インストールされている? peclとpearの最新バージョンはインストールされていますか? –

+0

're2cを確認しています...いいえ ' ' configure:警告:PHPパーサーを再生成するには、re2c 0.13.4以降が必要です。' re2c 0.13.4以降をインストールしましたか? – Azrael3000

+0

私はre2cをインストールしましたが、助けにはなりませんでした。 – maesbn

答えて

1

この問題が発生しました。 PECLは、フォルダ名をPHPのように消費する正規表現を使用しています。だからあなたは奇妙な "phpが接尾辞/php5.3.6/bin/phpを持っているように見えます"

おそらく、これは何かが失敗する理由です--PECLはPHPのどこがわからないのでしょうか。 pear.confでうんざりして、代わりに私のシステムのPHPを見てもらえないかどうか確認してください。ライン245の周りBuilder.phpで

if (preg_match('/(\\/|\\\\|^)([^\\/\\\\]+)?php(.+)?$/', 
        $this->config->get('php_bin'), $matches)) { 
     if (isset($matches[2]) && strlen($matches[2]) && 
      trim($matches[2]) != trim($this->config->get('php_prefix'))) { 
      $this->log(0, 'WARNING: php_bin ' . $this->config->get('php_bin') . 
         ' appears to have a prefix ' . $matches[2] . ', but' . 
         ' config variable php_prefix does not match'); 
     } 

     if (isset($matches[3]) && strlen($matches[3]) && 
      trim($matches[3]) != trim($this->config->get('php_suffix'))) { 
      $this->log(0, 'WARNING: php_bin ' . $this->config->get('php_bin') . 
         ' appears to have a suffix ' . $matches[3] . ', but' . 
         ' config variable php_suffix does not match'); 
     } 
    } 
+0

バグレポートを送信しました:http://pear.php.net/bugs/bug.php?id=19352 –