2012-05-22 41 views
3

我在Debian Squeeze上運行PHP5.3,安裝進行得很順利。我使用dotdeb存儲庫升級到PHP5.4,發現bbcode函數不再有效。然後我試圖重新安裝:PECL bbcode包無法生成

pecl uninstall bbcode 
pecl install bbcode 

但是它返回以下內容:

/tmp/pear/temp/bbcode/php_bbcode.c:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bbcode_functions’ 
/tmp/pear/temp/bbcode/php_bbcode.c:65: error: ‘bbcode_functions’ undeclared here (not in a function) 
make: *** [php_bbcode.lo] Error 1 

我有PHP5-dev的,已經安裝建立必要的和Ubuntu-DEV-工具。全部結果如下:

# pecl install bbcode 
downloading bbcode-1.0.2.tgz ... 
Starting to download bbcode-1.0.2.tgz (46,961 bytes) 
.............done: 46,961 bytes 
7 source files, building 
running: phpize 
Configuring for: 
PHP Api Version:   20100412 
Zend Module Api No:  20100525 
Zend Extension Api No: 220100525 
building in /tmp/pear/temp/pear-build-root30VR7V/bbcode-1.0.2 
running: /tmp/pear/temp/bbcode/configure 
checking for grep that handles long lines and -e... /bin/grep 
checking for egrep... /bin/grep -E 
checking for a sed that does not truncate output... /bin/sed 
checking for cc... cc 
checking whether the C compiler works... yes 
checking for C compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... no 
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... x86_64-unknown-linux-gnu 
checking host system type... x86_64-unknown-linux-gnu 
checking target system type... x86_64-unknown-linux-gnu 
checking for PHP prefix... /usr 
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib 
checking for PHP extension directory... /usr/lib/php5/20100525 
checking for PHP installed headers prefix... /usr/include/php5 
checking if debug is enabled... no 
checking if zts is enabled... no 
checking for re2c... re2c 
checking for re2c version... 0.13.5 (ok) 
checking for gawk... no 
checking for nawk... nawk 
checking if nawk is broken... no 
checking whether to enable C based BBCode support... yes, shared 
checking for a sed that does not truncate output... (cached) /bin/sed 
checking for fgrep... /bin/grep -F 
checking for ld used by cc... /usr/bin/ld 
checking if the linker (/usr/bin/ld) is GNU ld... yes 
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B 
checking the name lister (/usr/bin/nm -B) interface... BSD nm 
checking whether ln -s works... yes 
checking the maximum length of command line arguments... 1572864 
checking whether the shell understands some XSI constructs... yes 
checking whether the shell understands "+="... yes 
checking for /usr/bin/ld option to reload object files... -r 
checking for objdump... objdump 
checking how to recognize dependent libraries... pass_all 
checking for ar... ar 
checking for strip... strip 
checking for ranlib... ranlib 
checking command to parse /usr/bin/nm -B output from cc object... 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 for dlfcn.h... yes 
checking for objdir... .libs 
checking if cc supports -fno-rtti -fno-exceptions... no 
checking for cc option to produce PIC... -fPIC -DPIC 
checking if cc PIC flag -fPIC -DPIC works... yes 
checking if cc static flag -static works... yes 
checking if cc supports -c -o file.o... yes 
checking if cc supports -c -o file.o... (cached) yes 
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes 
checking whether -lc should be explicitly linked in... no 
checking dynamic linker characteristics... GNU/Linux ld.so 
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 
configure: creating ./config.status 
config.status: creating config.h 
config.status: executing libtool commands 
running: make 
/bin/bash /tmp/pear/temp/pear-build-root30VR7V/bbcode-1.0.2/libtool --mode=compile cc -I/tmp/pear/temp/bbcode/lib -I. -I/tmp/pear/temp/bbcode -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-root30VR7V/bbcode-1.0.2/include -I/tmp/pear/temp/pear-build-root30VR7V/bbcode-1.0.2/main -I/tmp/pear/temp/bbcode -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/bbcode/php_bbcode.c -o php_bbcode.lo 
libtool: compile: cc -I/tmp/pear/temp/bbcode/lib -I. -I/tmp/pear/temp/bbcode -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-root30VR7V/bbcode-1.0.2/include -I/tmp/pear/temp/pear-build-root30VR7V/bbcode-1.0.2/main -I/tmp/pear/temp/bbcode -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/bbcode/php_bbcode.c -fPIC -DPIC -o .libs/php_bbcode.o 
/tmp/pear/temp/bbcode/php_bbcode.c:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘bbcode_functions’ 
/tmp/pear/temp/bbcode/php_bbcode.c:65: error: ‘bbcode_functions’ undeclared here (not in a function) 
make: *** [php_bbcode.lo] Error 1 
ERROR: `make' failed 

回答

10

嘗試安裝1.0.3b1版本。這應該用PHP 5.4編譯好。

pecl install bbcode-1.0.3b1 
+0

爲我工作 - 完美的解決方案! –

+0

還記得'chmod 755/usr/lib64/php/modules/bbcode.so',否則php會說「無法加載動態庫......無法打開共享對象文件」(至少我的做法) – Emre