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 Development 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]

Reply via email to