Dear PHP Colleagues,
After a rest period of nearly a year, we are back to our old tricks, trying to build a "kitchen sink" version of the latest PHP release, 4.1.1, on our SPARC platforms under Solaris 2.8/gcc 2.95.2, using as many options as possible. Not suprisingly, we have encountered a number of problems, to which we've thus far gotten no insight from the various PHP mailing lists we've posted to. We send this summary prior to backing off to a pared-down version of PHP: 1) Some of the configure options appear to be obsolete. For example, PHP 4.1.1 comes with an internal copy of expat; if we configure it with "--with-expat=<path>", it complains about not finding the header file "expat.h". It would appear to us that "--with-expat=" should not even be supported, and that "enable-expat" should be supported to trigger inclusion of the internally-supplied version of expat. Are there other extensions that are now included in the PHP code base for which such options should be eliminated? 2) When we tried to compile php 4.1.1 with the option "--with-snmp=/depot/package/ucd-snmp_4.2.1", we got the following error message (apologies for its length, but did not want to eliminate information here): mkdir .libs rm -fr .libs/libphp_java.la .libs/libphp_java.* .libs/libphp_java.* (cd . && ln -s java.lo java.o) /usr/ucb/echo "{ global:" > .libs/libphp_java.so.exp cat /site4/web_kit_1.0_rodgers/php_4.1.1/sapi/apache/php.sym | sed -e "s /\(.*\)/\1;/" >> .libs/libphp_java.so.exp /usr/ucb/echo "local: *; };" >> .libs/libphp_java.so.exp /usr/ccs/bin/ld -G -M .libs/libphp_java.so.exp -h libphp_java.so -o .li bs/libphp_java.so java.lo -R/depot/package/recode_3.5/lib -R/depot/pac kage/xmlrpc-epi_0.50/vendor/lib -R/depot/lib/.libs -R/depot/package/pdfl ib_3.0/lib -R/depot/package/jpeg_6b/lib -R/depot/package/mysql_3.23.46/v endor/lib/mysql -R/depot/package/mhash_0.6.1/lib -R/depot/package/libmcr ypt_2.4.19/vendor/lib -R/depot/package/libtool_1.4.2/vendor/lib -R/depot /package/openLDAP_2.0.19/vendor/lib -R/depot/package/libiconv_1.7/vendor /lib -R/depot/package/gettext_0.10.40/vendor/lib -R/depot/package/t1lib_ 1.0.1/lib -R/depot/package/freetype_2.0.5/lib -R/depot/package/libxml_2. 4.13/vendor/lib -R/depot/package/gdbm_1.8/lib -R/depot/package/curl_7.9. 2/lib -R/depot/package/recode_3.5/lib -R/depot/package/xmlrpc-epi_0.50/v endor/lib -R/depot/package/ucd-snmp_4.2.1/lib -R/depot/package/pdflib_3. 0/lib -R/depot/package/jpeg_6b/lib -R/depot/package/mysql_3.23.46/vendor /lib/mysql -R/depot/package/mhash_0.6.1/lib -R/depot/package/libmcrypt_2 .4.19/vendor/lib -R/depot/package/libtool_1.4.2/vendor/lib -R/depot/pack age/openLDAP_2.0.19/vendor/lib -R/depot/package/libiconv_1.7/vendor/lib -R/depot/package/gettext_0.10.40/vendor/lib -R/depot/package/t1lib_1.0.1 /lib -R/depot/package/freetype_2.0.5/lib -R/depot/package/libxml_2.4.13/ vendor/lib -R/depot/package/gdbm_1.8/lib -R/depot/package/curl_7.9.2/lib -R/usr/ucblib -R/depot/package/openssl_0.9.6b/vendor/lib -R/depot/packa ge/gcc_2.95.2/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2 -R/depot/package/z lib_1.1.3/lib -R/depot/package/bzip2_1.0.1/lib -R/depot/package/cracklib _2.7/vendor/lib -R/depot/lib -R/depot/package/rsaref_2.0/lib -R/depot/pa ckage/openssl_0.9.6b/lib -R/depot/package/berkeley_db_3.2.9/lib -R/depot /package/libpng_1.2.1/lib -R/depot/package/xpm_3.4k/lib -R/depot/package /t1lib_1.1.1/vendor/lib -R/depot/package/gd_1.8.3/lib -R/site4/web_kit_1 .0_rodgers/imap-2001a/c-client -R/depot/package/mhash_0.8.13/lib -R/depo t/package/mysql_3.23.46/lib/mysql -R/depot/package/ncurses_5.2/vendor/li b -R/depot/package/tiff_3.5.5/lib -R/depot/package/pdflib_4.0.1/lib -R/d epot/package/recode_3.6/vendor/lib -L/depot/package/libiconv_1.7/lib -L /site4/web_kit_1.0_rodgers/openldap-2.0.19/libraries -L/depot/package/li btool_1.3.4/lib -L/usr/local/lib -L/depot/lib -L/usr/ucblib -L/depot/pac kage/openssl_0.9.6b/vendor/lib -L/depot/package/gcc_2.95.2/lib/gcc-lib/s parc-sun-solaris2.8/2.95.2 -L/depot/package/zlib_1.1.3/lib -L/depot/pack age/bzip2_1.0.1/lib -L/depot/package/cracklib_2.7/vendor/lib -L/depot/pa ckage/curl_7.9.2/lib -L/depot/package/rsaref_2.0/lib -L/depot/package/op enssl_0.9.6b/lib -L/depot/package/gdbm_1.8/lib -L/depot/package/berkeley _db_3.2.9/lib -L/depot/package/libxml_2.4.13/vendor/lib -L/depot/package /jpeg_6b/lib -L/depot/package/libpng_1.2.1/lib -L/depot/package/xpm_3.4k /lib -L/depot/package/freetype_2.0.5/lib -L/depot/package/t1lib_1.1.1/ve ndor/lib -L/depot/package/gd_1.8.3/lib -L/depot/package/gettext_0.10.40/ vendor/lib -L/depot/package/libiconv_1.7/vendor/lib -L/site4/web_kit_1.0 _rodgers/imap-2001a/c-client -L/depot/package/openLDAP_2.0.19/vendor/lib -L/depot/package/libmcrypt_2.4.19/vendor/lib -L/depot/package/mhash_0.8. 13/lib -L/depot/package/mysql_3.23.46/lib/mysql -L/depot/package/ncurses _5.2/vendor/lib -L/depot/package/tiff_3.5.5/lib -L/depot/package/pdflib_ 4.0.1/lib -L/depot/package/recode_3.6/vendor/lib -L/depot/package/ucd-sn mp_4.2.1/lib -L/depot/package/xmlrpc-epi_0.50/vendor/lib -lpam /depot/pa ckage/recode_3.5/lib/librecode.so -lc-client -ldl /depot/package/xmlrpc- epi_0.50/vendor/lib/libxmlrpc.so /depot/lib/.libs/libsnmp.so -lkstat /de pot/package/pdflib_3.0/lib/libpdf.so -ltiff -lpng -lz -lncurses /depot/p ackage/mysql_3.23.46/vendor/lib/mysql/libmysqlclient.so -lz /depot/packa ge/mhash_0.6.1/lib/libmhash.so /depot/package/libmcrypt_2.4.19/vendor/li b/libmcrypt.so /depot/package/libtool_1.4.2/vendor/lib/libltdl.so /depot /package/openLDAP_2.0.19/vendor/lib/libldap.so /depot/package/openLDAP_2 .0.19/vendor/lib/liblber.so -lcrypt -lpam /depot/package/libiconv_1.7/ve ndor/lib/libiconv.so /depot/package/gettext_0.10.40/vendor/lib/libintl.s o -lgd /depot/package/t1lib_1.0.1/lib/libt1.so /depot/package/freetype_2 .0.5/lib/libfreetype.so -lX11 -lXpm -lpng -lz /depot/package/jpeg_6b/lib /libjpeg.so -lz /depot/package/libxml_2.4.13/vendor/lib/libxml2.so -ldb- 3 /depot/package/gdbm_1.8/lib/libgdbm.so -lnsl -lsocket -ldl -lcrypto -l ssl -lrsaref /depot/package/curl_7.9.2/lib/libcurl.so -lcrack -lbz2 -lz -lcrypt -lssl -lcrypto -lresolv -lresolv -lresolv -lm -ldl -lnsl -lsocke t -lsocket -lgcc -lcrypt -lc ld: fatal: file /depot/lib/.libs/libsnmp.so: cannot open file: No such f ile or directory ld: fatal: File processing errors. No output written to .libs/libphp_jav a.so *** Error code 1 make: Fatal error: Command failed for target `libphp_java.la' Current working directory /site4/web_kit_1.0_rodgers/php_4.1.1/ext/java *** Error code 1 make: Fatal error: Command failed for target `all-recursive' Current working directory /site4/web_kit_1.0_rodgers/php_4.1.1/ext/java *** Error code 1 make: Fatal error: Command failed for target `all-recursive' Current working directory /site4/web_kit_1.0_rodgers/php_4.1.1/ext *** Error code 1 make: Fatal error: Command failed for target `all-recursive' To summarize: we specified our local installation path for the UC Davis SNMP package using: "--with-snmp=/depot/package/ucd-snmp_4.2.1". We have a library file /depot/package/ucd-snmp_4.2.1/lib/libsnmp.so, which is where we would expect the above option to point to -- but instead, the build appears to be looking for the library in /depot/lib/.libs/. Any ideas as to how to fix or work around this problem? 3) Which version of ming does PHP 4.1.1 actually use? We downloaded the latest version of ming (0.2a), but when we try "make" in the top-level ming directory (which tries to build a shared library), we got this error message: gcc -g -Wall movie.o displaylist.o blocklist.o position.o movieclip.o shape_util.o shape_cubic.o text_util.o fill.o ming.o actioncompiler/compile.o actioncompiler/swf4compiler.tab.o actioncompiler/lex.swf4.o actioncompiler/swf5compiler.tab.o actioncompiler/lex.swf5.o actioncompiler/compileaction.o actioncompiler/assembler.o blocks/*.o -shared -fpic \ -o libming.so Text relocation remains referenced against symbol offset in file <unknown> 0x3120 actioncompiler/swf4compiler.tab.o <unknown> 0x3124 [...] When we entered the subdirectory ming/php_ext and tried to compile, it complained about not finding the header file "tsrm_virtual_cwd.h". We copied all the files under that sub-directory to the PHP source tree under php_4.1.1/ext/ming/, then did "configure", first with the option "--with-ming=/depot/package/ming_0.2a", and then again with the option "--with-ming=./ext/ming", the PHP configuration gave this error message: configure: error: Please reinstall libming.so - I cannot find libming.so Neither the PHP nor ming documentation is clear about installation. What is the correct way to install PHP with ming support? 4) The extensions mm, mnogosearch, pspell and yaz all (independently) cause "multiply defined symbols" error messages during compilation. The options we used in configuration were: --with-mm=/depot/package/mm_1.1.3 \ --with-mnogosearch=/depot/package/mnogosearch_3.1.19/vendor \ --with-pspell=/depot/package/pspell_.12.2/vendor \ --with-yaz=/depot/package/yaz_1.8.4/vendor/bin and the error messages looked like: ld: fatal: symbol `odr_bool' is multiply-defined: (file Zend/.libs/libZend.al(odr_bool.o) and file /depot/package/yaz_1.8.4/vendor/lib/libyaz.a(odr_bool.o)); ld: fatal: symbol `ber_boolean' is multiply-defined: (file Zend/.libs/libZend.al(ber_bool.o) and file /depot/package/yaz_1.8.4/vendor/lib/libyaz.a(ber_bool.o)); [...] /depot/package/pspell_.12.2/lib/libpspell.a(string_pair_emulation.o)); ld: fatal: symbol `_ZN22PspellCanHaveErrorImpl11reset_errorEv' is multiply-defined: (file Zend/.libs/libZend.al(error_impl.o) and file /depot/package/pspell_.12.2/lib/libpspell.a(error_impl.o)); ld: fatal: symbol `_Z24new_pspell_manager_classP12PspellConfig' is multiply-defined: (file Zend/.libs/libZend.al(manager_impl.o) and file /depot/package/pspell_.12.2/lib/libpspell.a(manager_impl.o)); [...] ld: fatal: symbol `UdmAddParser' is multiply-defined: (file Zend/.libs/libZend.al(parser.o) and file /depot/package/mnogosearch_3.1.19/vendor/lib/libudmsearch.a(parser.o)); ld: fatal: symbol `UdmInsertAffix' is multiply-defined: (file Zend/.libs/libZend.al(sql.o) and file /depot/package/mnogosearch_3.1.19/vendor/lib/libudmsearch.a(sql.o)); Are those extensions still supported in php 4.1.1? 5) We installed the dmalloc 4.8.2 package on our system and tried to enable dmalloc support in PHP using "--enable-dmalloc". The error we received during compilation read: In file included from /depot/package/apache_1.3.22/vendor/include/ap_config.h:1160, from /depot/package/apache_1.3.22/vendor/include/httpd.h:72, from mod_php4.c:32: /usr/include/memory.h:20: conflicting types for `_dmalloc_memccpy' /depot/include/dmalloc.h:435: previous declaration of `_dmalloc_memccpy' /usr/include/memory.h:35: conflicting types for `_dmalloc_memchr' /depot/include/dmalloc.h:437: previous declaration of `_dmalloc_memchr' /usr/include/memory.h:37: conflicting types for `_dmalloc_memcpy' /depot/include/dmalloc.h:424: previous declaration of `_dmalloc_memcpy' /usr/include/memory.h:38: conflicting types for `_dmalloc_memset' /depot/include/dmalloc.h:426: previous declaration of `_dmalloc_memset' *** Error code 1 make: Fatal error: Command failed for target `mod_php4.lo' Current working directory /site4/web_kit_1.0_rodgers/php_4.1.1/sapi/apache *** Error code 1 make: Fatal error: Command failed for target `all-recursive' It appears that the Apache header file ap_config.h includes the *Solaris* header file memory.h, which has definitions that conflict with those in the dmalloc header file dmalloc.h. Any ideas about fixes or work-arounds here? 6) We finally got PHP 4.1.1 configured and compiled (excluding the 7 troublesome packages discussed above) with the following (42 or 43) options: sh ./configure \ --prefix=/depot/package/php_4.1.1/vendor/ \ --with-apxs=/depot/package/apache_1.3.22/vendor/bin/apxs \ --enable-safe-mode \ --enable-discard-path \ --with-exec-dir=/depot/package/apache_1.3.22/vendor/php-bin \ --with-config-file-path=/depot/package/php_4.1.1 \ --with-openssl=/depot/package/openssl_0.9.6b/vendor \ --enable-libgcc \ --disable-short-tags \ --with-zlib=/depot/package/zlib_1.1.3 \ --enable-bcmath \ --with-bz2=/depot/package/bzip2_1.0.1 \ --enable-calendar \ --with-jpeg-dir=/depot/package/jpeg_6b \ --with-tiff-dir=/depot/package/tiff_3.5.5 \ --with-crack=/depot/package/cracklib_2.7/vendor \ --with-curl=/depot/package/curl_7.9.2 \ --with-gdbm=/depot/package/gdbm_1.8 \ --with-db3=/depot/package/berkeley_db_3.2.9 \ --with-dom=/depot/package/libxml_2.4.13/vendor \ --with-fribidi=/depot/package/fribidi_0.10.0 \ --enable-ftp \ --with-gd=/depot/package/gd_1.8.3 \ --with-png-dir=/depot/package/libpng_1.2.1 \ --with-xpm-dir=/depot/package/xpm_3.4k \ --with-imap=/site4/web_kit_1.0_rodgers/imap-2001a \ --with-freetype-dir=/depot/package/freetype_2.0.5 \ --with-t1lib=/depot/package/t1lib_1.1.1/vendor \ --with-gettext=/depot/package/gettext_0.10.40/vendor \ --with-iconv=/depot/package/libiconv_1.7/vendor \ --with-java=/usr/java \ --with-ldap=/depot/package/openLDAP_2.0.19/vendor \ --enable-mailparse \ --with-mcrypt=/depot/package/libmcrypt_2.4.19/vendor \ --with-mhash=/depot/package/mhash_0.8.13 \ --with-mysql=/depot/package/mysql_3.23.46 \ --with-ncurses=/depot/package/ncurses_5.2/vendor \ --with-pdflib=/depot/package/pdflib_4.0.1 \ --with-recode=/depot/package/recode_3.6/vendor \ --enable-wddx \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --with-xml \ --with-xmlrpc=/depot/package/xmlrpc-epi_0.50/vendor \ --enable-versioning \ --enable-debug After doing a "make install" and uncommenting the following two lines in the Apache httpd.conf file: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps we tried to restart the apache server with the PHP module. The server failed to restart due to a segmentation fault. We have seen a similar report from another group on the PHP Developer mailing list, but this group can't remember the fix, seeming to think it might have been related to a linker path variable (http://marc.theaimsgroup.com/?l=php-dev&m=101234015100509&w=2). No core file was produced, thus preventing us from obtaining debug information via "gdb httpd". The gdb program gives this warning: shared library handler failed to enable breakpoint, Program received signal SIGILL, Illegal instruction Any ideas about what is wrong with libphp4.so? Or strategies to obtain more debug information? Thanks in advance for any insights concerning the above problem list. We hope it is of help in improving the package. Keep up the great work, PHP developers! Best Regards, Rick Rodgers ([EMAIL PROTECTED]) Ziying Sherwin ([EMAIL PROTECTED]) -- PHP Install Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]