[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:31390] php4_mbregex-1.3.1 cannot be compiled on PHP-4.1.1



ã„ã¤ã‚‚ãŠä¸–話ã«ãªã£ã¦ãŠã‚Šã¾ã™ã€‚
ãŸãªã¹ï¼ ãƒ«ãƒ¼ãƒŸãƒŠã‚¹ã§ã™ã€‚

debian/unstable(sid)
kernel-2.4.17
Apache-1.3.22
PHP-4.1.1
libc6-2.2.4
gcc-2.95

ã¨è¨€ã†æ§‹æˆã§åˆ©ç”¨ã—ã¦ã„ã¾ã™ã€‚
åŒæ§˜ãªæŠ•ç¨¿ã‚’ php-users ã«ã‚‚æµã—ã¾ã—ãŸãŒ
åå¿œãŒå¾—られã¾ã›ã‚“ã§ã—ãŸã®ã§ã“ã¡ã‚‰ã«æµã—ã¾ã™ã€‚
ãŠé–€é•ã„ãªæŠ•ç¨¿ãªã®ã¯åˆ†ã‹ã£ã¦ã„ã‚‹ã¤ã‚‚ã‚Šã§ã™ãŒã€
ã‚‚ã— debian ä¾å­˜ãªç†ç”±ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã¨æ€ã„投稿ã—ã¾ã™ã€‚
何ã§ã‚‚çµæ§‹ã§ã™ã®ã§ä½•ã‹åˆ†ã‹ã‚‹ã“ã¨ãŒã‚ã‚Œã°
御教示願ãˆã‚‹ã¨éžå¸¸ã«æœ‰é›£ã„ã§ã™ã€‚

PHP-4.0.6 ã¾ã§åˆ©ç”¨ã—ã¦ã„㟠mbregex モジュールを
PHP-4.1.1 ã§åˆ©ç”¨ã—よã†ã¨æ€ã„ã€
# 4.0.6 ã¾ã§ã¯ deb パッケージã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’
# 追加ã™ã‚‹ã ã‘ã§(1.2.1ãŒï¼‰åˆ©ç”¨ã§ãã¦ã„ã¾ã—ãŸã€‚

$ tar xvzf php4_mbregex-1.3.1.tar.gz
$ cd mbregex/
$ phpize
$ ./configure --enable-regex
$ make

ã¨é€šå¸¸é€šã‚Šã®æ‰‹é †ã‚’è¸ã‚“ã ã®ã§ã™ãŒã€
# 本当㯠--prefix=/usr/local ã‚’ã¤ã‘ã‚‹ã¤ã‚‚ã‚Šã§ã™ãŒ
# ã¨ã‚Šã‚ãˆãšå‹•ä½œç¢ºèªã®ãŸã‚ã«ã“ã†ã—ã¦ã„ã¾ã™ã€‚

make[1]: Entering directory `/home/junnichi/work/php/mbregex'
/bin/sh /home/junnichi/work/php/mbregex/libtool --mode=compile gcc -I. -I/home/junnichi/work/php/mbregex/ -I/home/junnichi/work/php/mbregex/main -I/home/junnichi/work/php/mbregex -I/usr/include/php4 -I/usr/include/php4/main -I/usr/include/php4/Zend -I/usr/include/php4/TSRM  -DHAVE_CONFIG_H  -prefer-pic  -c mbregex.c && touch mbregex.slo
gcc -I. -I/home/junnichi/work/php/mbregex/ -I/home/junnichi/work/php/mbregex/main -I/home/junnichi/work/php/mbregex -I/usr/include/php4 -I/usr/include/php4/main -I/usr/include/php4/Zend -I/usr/include/php4/TSRM -DHAVE_CONFIG_H -c mbregex.c  -fPIC -DPIC -o mbregex.lo
mbregex.c:528: conflicting types for `re_set_syntax'
/usr/include/regex.h:449: previous declaration of `re_set_syntax'
make[1]: *** [mbregex.slo] エラー 1
make[1]: Leaving directory `/home/junnichi/work/php/mbregex'
make: *** [all-recursive] エラー 1

ã¨ã„ã†æ§˜ã«æ­¢ã¾ã£ã¦ã—ã¾ã„ã¾ã™ã€‚
/usr/include/regex.h ã®è©²å½“箇所(449行目)を見るã¨

/* Sets the current default syntax to SYNTAX, and return the old syntax.
   You can also simply assign to the `re_syntax_options' variable.  */
extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax));

ã¨ãªã£ã¦ã„ã¾ã™ã€‚
4.1以é™ã«å¯¾å¿œã—ã¦ã„ã‚‹ã®ã¯ 1.3.1 ã ã‘ãªã®ã§ã™ãŒ
一応 1.2.1, 1.1 も試ã—ã« make ã—ã¦ã¿ã¾ã—ãŸãŒã€
4.0.6 ã®æ™‚ã«åˆ©ç”¨ã—ã¦ã„㟠1.2.1 ã¯ã‚³ãƒ³ãƒ‘イルã§ãã¾ã›ã‚“ã§ã—ãŸã€‚
1.1 ã¯æ™®é€šã«é€šã‚Šã¾ã—ãŸã€‚

念ã®ãŸã‚ã€./configure --enable-regex ã®å®Ÿè¡Œçµæžœã‚‚載ã›ã¾ã™ã€‚

creating cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking whether gcc and cc understand -c and -o together... yes
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php4 -I/usr/include/php4/main -I/usr/include/php4/Zend -I/usr/include/php4/TSRM
checking for PHP extension directory... /usr/lib/php4/20010901
checking whether to enable mbregex support... yes, shared
checking for Cygwin environment... no
checking for mingw32 environment... no
checking how to run the C preprocessor... gcc -E
checking host system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependant libraries... pass_all
checking for object suffix... o
checking for executable suffix... no
checking command to parse /usr/bin/nm -B output... ok
checking for dlfcn.h... yes
checking for ranlib... ranlib
checking for strip... strip
checking for objdir... .libs
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking whether the linker (/usr/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether -lc should be explicitly linked in... no
creating libtool
checking for working mkdir -p... yes
creating config_vars.mk
creating Makefile
updating cache ./config.cache
creating ./config.status
creating config.h

以上よã‚ã—ããŠé¡˜ã„致ã—ã¾ã™ã€‚

-- 
ルーミナス-----------------------------+
 | 田邉純一 (TANABE Junnichi)          |
 | E-mail : junnichi@xxxxxxxxxxxxxxxxx |
 +-------------------------------------+