[PHP-users 4846] Re: [Q]PHP4.0.6+Namazu の make 時にエラー

Youichi Iwakiri php-users@php.gr.jp
Sat, 19 Jan 2002 00:15:42 +0900


いわきりです

水迫清仁 wrote in <20020118212759.8BD8.MIZUSAKO@southwave.co.jp>:
 >インストール手順としては、
 >$tar -zxvf php-4.0.6.tar.gz
 >$cp php4_namazu-2.1.0.tar.gz php-4.0.6/ext/

この組み合わせが悪いです。

 >Namazuのモジュール内にあった「README.ja」で説明されていた、

このREADME.jaの中に
| ・履歴
| 2000.12.24  Version 2.1.0
|  - PHP-4.1.0 に対応、以前のバージョンでは動きません。
と書いてあります。

Masashi Ohba wrote in <200201181342.AA01650@nt.priv.netforce.ne.jp>:
 >>PHP4.0.6以前のものだったら、php4_namazu-2.0.1じゃなくて?
 >ですが、PHP4.0.6+php4_namazu-2.0.1の場合でも
 >make時にエラーが出るようなことは
 >[PHP-users 885]
 >[PHP-users 890]
 >[PHP-users 892]
 >[PHP-users 898]
 >[PHP-users 899]
 >でやり取りされてます。
 >#これが改善されたのかどうかは知らないです

4.0.5と4.0.6の間だったと思いますが、autoconf辺りの
マクロ定義が変更になっていたと思います。
conig.m4をちょっと直すとmakeは通ります。

php-4.1.0以降 + php4_namazu-2.1.0.tar.gzの利用をお勧めしますが
以下にパッチを付けておきます。
当然無保証ですので、利用は各自の判断でお願いします。

php4_namazu-2.0.1.tar.gz用
-ここから--------------------

--- config.m4	Tue May  9 00:33:14 2000
+++ namazu_patch/config.m4	Fri Nov 30 06:34:41 2001
@@ -18,7 +18,8 @@
 
     AC_DEFINE(HAVE_NAMAZU,1,[ ])
 
-    AC_ADD_LIBRARY_WITH_PATH(nmz, $NAMAZU_LIBDIR, 
NAMAZU_SHARED_LIBADD)
+    PHP_ADD_LIBRARY_WITH_PATH(nmz, $NAMAZU_LIBDIR, 
NAMAZU_SHARED_LIBADD)
+    PHP_ADD_LIBRARY_WITH_PATH(intl, $NAMAZU_LIBDIR, 
NAMAZU_SHARED_LIBADD)
 
     PHP_EXTENSION(namazu,$ext_shared)
 fi

-ここまで--------------------

php4_namazu-2.1.0.tar.gz用
-ここから--------------------

diff -u namazu.orig/php_namazu.c namazu/php_namazu.c
--- namazu.orig/php_namazu.c	Mon Dec  3 22:50:38 2001
+++ namazu/php_namazu.c	Fri Jan 18 23:44:20 2002
@@ -74,15 +74,19 @@
 
 
 zend_module_entry namazu_module_entry = {
+#if ZEND_MODULE_API_NO >= 20010901
 	STANDARD_MODULE_HEADER,
+#endif
 	"namazu",
 	namazu_functions,
-	PHP_MODULE_STARTUP_N(namazu),
-	PHP_MODULE_SHUTDOWN_N(namazu),
-	PHP_MODULE_ACTIVATE_N(namazu),
-	PHP_MODULE_DEACTIVATE_N(namazu),
-	PHP_MODULE_INFO_N(namazu),
+	PHP_MINIT(namazu),
+	PHP_MSHUTDOWN(namazu),
+	PHP_RINIT(namazu),
+	PHP_RSHUTDOWN(namazu),
+	PHP_MINFO(namazu),
+#if ZEND_MODULE_API_NO >= 20010901
 	NO_VERSION_YET,
+#endif
 	STANDARD_MODULE_PROPERTIES
 };
 
@@ -97,10 +101,8 @@
 
 /* hlist destructor */
 static void
-php_namazu_free_hlist(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+php_namazu_free_hlist(php_nmzresult_t *result)
 {
-	php_nmzresult_t *result = (php_nmzresult_t *)rsrc->ptr;
-
 	nmz_free_hlist(result->hlist);
 	efree(result);
 }
@@ -164,20 +166,20 @@
 }
 
 
-PHP_MODULE_STARTUP_D(namazu)
+PHP_MINIT_FUNCTION(namazu)
 {
 #ifdef ZTS
 	php_namazu_lock_id = tsrm_mutex_alloc();
 #endif
 	ZEND_INIT_MODULE_GLOBALS(namazu, php_namazu_init_globals, NULL);
 	REGISTER_INI_ENTRIES();
-	le_nmzres = zend_register_list_destructors_ex(php_namazu_free_hlist, NULL, "Namazu result", module_number);
+	le_nmzres = register_list_destructors(php_namazu_free_hlist, NULL);
 
 	return SUCCESS;
 }
 
 
-PHP_MODULE_SHUTDOWN_D(namazu)
+PHP_MSHUTDOWN_FUNCTION(namazu)
 {
 	UNREGISTER_INI_ENTRIES();
 #ifdef ZTS
@@ -189,7 +191,7 @@
 }
 
 
-PHP_MODULE_ACTIVATE_D(namazu)
+PHP_RINIT_FUNCTION(namazu)
 {
 	NMZG(idxcount) = 0;
 #ifndef ZTS
@@ -210,7 +212,7 @@
 }
 
 
-PHP_MODULE_DEACTIVATE_D(namazu)
+PHP_RSHUTDOWN_FUNCTION(namazu)
 {
 	if (NMZG(status) & PHP_NAMAZU_STATUS_OPEN) {
 		nmz_free_internal();
@@ -222,7 +224,7 @@
 }
 
 
-PHP_MODULE_INFO_D(namazu)
+PHP_MINFO_FUNCTION(namazu)
 {
 	DISPLAY_INI_ENTRIES();
 }
diff -u namazu.orig/php_namazu.h namazu/php_namazu.h
--- namazu.orig/php_namazu.h	Mon Dec  3 21:29:06 2001
+++ namazu/php_namazu.h	Fri Jan 18 23:10:47 2002
@@ -17,12 +17,11 @@
 #define PHP_NAMAZU_STATUS_OPEN		0x01
 #define PHP_NAMAZU_STATUS_SEARCH	0x10
 
-
-PHP_MODULE_STARTUP_D(namazu);
-PHP_MODULE_SHUTDOWN_D(namazu);
-PHP_MODULE_ACTIVATE_D(namazu);
-PHP_MODULE_DEACTIVATE_D(namazu);
-PHP_MODULE_INFO_D(namazu);
+PHP_MINIT_FUNCTION(namazu);
+PHP_MSHUTDOWN_FUNCTION(namazu);
+PHP_RINIT_FUNCTION(namazu);
+PHP_RSHUTDOWN_FUNCTION(namazu);
+PHP_MINFO_FUNCTION(namazu);
 
 /* php function registration */
 PHP_FUNCTION(nmz_set_sortorder);

-ここまで--------------------