Bug #17519 Updated: Undeclared 'phpext_ps_mm_ptr' in internal_functions{,_cli}.c

From: Date: Wed, 12 Jun 2002 14:23:35 +0000
Subject: Bug #17519 Updated: Undeclared 'phpext_ps_mm_ptr' in internal_functions{,_cli}.c
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-10250@lists.php.net to get a copy of this message
ID: 17519 Updated by: sniper@php.net Reported By: derekm@hackunix.org -Status: Open +Status: Closed Bug Type: Compile Failure Operating System: Heavily modified Red Hat 6.2 PHP Version: 4.2.1 New Comment: This bug has been fixed in CVS. You can grab a snapshot of the CVS version at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2002-05-30 06:22:19] derekm@hackunix.org The fixes that I outlined here allowed PHP 4 to compile, when when I went to start Apache, I got the following error: Syntax error on line 248 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/libexec/libphp4.so into server: /usr/local/libexec/libphp4.so: undefined symbol: php_session_mm_module It did some playing around with my original 'configure' options, and I changed '--with-mm=shared' to '--with-mm'. That change has made PHP compile without errors so far. However, at this point, I'm still waiting for compilation to complete. I'll post another comment if I run into more problems--otherwise, if I don't post here again, assume all is well. ------------------------------------------------------------------------ [2002-05-30 03:39:56] derekm@hackunix.org I'm compiling PHP 4.2.1 with: ./configure --with-config-file-path=/usr/local/etc \ --with-layout=GNU \ --with-apxs=/usr/local/sbin/apxs \ --enable-dependency-tracking \ --with-openssl=shared \ --enable-libgcc=shared \ --with-zlib-dir=/usr \ --with-zlib=shared \ --with-aspell=/usr \ --enable-bcmath=shared \ --with-bz2=shared \ --enable-calendar=shared \ --with-crack=shared \ --with-curl=shared \ --enable-dba=shared \ --with-gdbm=shared \ --with-ndbm=shared \ --with-db2=shared \ --with-db3=shared \ --enable-dbase=shared \ --enable-dbx=shared \ --enable-dio=shared \ --with-dom=shared \ --with-dom-xslt=shared \ --with-dom-exslt=shared \ --enable-exif=shared \ --enable-filepro=shared \ --enable-ftp=shared \ --with-tiff-dir=/usr \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-xpm-dir=/usr/X11R6 \ --with-freetype-dir=/usr \ --with-gd=shared,/usr/gd-with_gif/ \ --enable-gd-native-ttf=shared \ --with-gettext=shared \ --with-gmp=shared \ --with-icap=shared \ --with-iconv=shared \ --with-imap=shared \ --with-kerberos \ --with-imap-ssl \ --with-java=/usr/java/j2sdk1.4.0 \ --with-ldap=shared \ --enable-mbstring=shared \ --enable-mbstr-enc-trans \ --enable-mbregex \ --with-mcal=shared \ --with-mcrypt=shared \ --with-mhash=shared \ --with-pdflib=shared \ --with-pgsql=shared \ --with-pspell=shared \ --with-recode=shared \ --with-mm=shared \ --enable-shmop=shared \ --enable-sockets=shared \ --with-regex=php \ --enable-sysvsem=shared \ --enable-sysvshm=shared \ --enable-tokenizer=shared \ --enable-wddx=shared \ --with-xmlrpc=shared \ --enable-xslt=shared \ --with-xslt-sablot=shared,/usr \ --with-expat-dir=/usr \ --with-sablot-js=shared,/usr \ --enable-yp=shared \ --with-zip=shared \ --enable-versioning=shared \ --enable-shared=shared \ --enable-inline-optimization=shared \ --enable-memory-limit=shared I added '=shared' to so many of the options because the compile documentation sucks my left testicle, and it was faster to add '=shared' to a bunch of the options than read through the 'configure' script for hours to determine which options are actually affected by '=shared'. Anyways, the 'configure' script completed successfully, and I went ahead with 'make'. After a few minutes, I got this error: internal_functions.c:53: `phpext_ps_mm_ptr' undeclared here (not in a function) internal_functions.c:53: initializer element is not constant internal_functions.c:53: (near initialization for `php_builtin_extensions[9]') I examined 'main/internal_functions.c' and found this: zend_module_entry *php_builtin_extensions[] = { phpext_xmlrpc_ptr, phpext_xml_ptr, phpext_standard_ptr, phpext_posix_ptr, phpext_pcre_ptr, phpext_openssl_ptr, phpext_mysql_ptr, phpext_ctype_ptr, phpext_aspell_ptr, phpext_ps_mm_ptr, }; First, just to try, I cleaned up the code, removing that trailing comma after 'phpext_ps_mm_ptr'. But, as I suspected, that did nothing. Then I noticed all the #INCLUDEs just above the declaration for 'php_builtin_extensions[]', noticing that they tended to correspond with the elements of 'php_builtin_extensions[]'. So I determined to find in which header file 'phpext_ps_mm_ptr' was being defined with 'grep -r phpext_ps_mm_ptr *'. I found it being defined in 'ext/session/mod_mm.h'; which, for some reason or another, wasn't be #INCLUDEd in 'main/internal_functions.c'. So I added the following line: #include "ext/session/mod_mm.h" Running 'make' again, 'main/internal_functions.c' compiled just fine. Except now 'main/internal_functions_cli.c' failed compilation with the same error--and, consequently, the same fix. Anyways, that's it. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=17519&edit=1

« previous php.bugs (#10250) next »