ID: 9398 Updated by: sterling Reported By: [EMAIL PROTECTED] Old Status: Open Status: Closed Bug Type: Sablotron XSL Operating System: Linux Redhat 6.2 PHP Version: 4.0.4pl1 New Comment: This is a Sablotron patch and problem, please send this to [EMAIL PROTECTED] thanks! Previous Comments: ------------------------------------------------------------------------ [2001-02-23 04:42:23] [EMAIL PROTECTED] The problem appears to be between pspell and sablotron modules which are using both C++ shared libs. If we change the load, first sablot and after pspell, that's works. I attached two logs for httpd -DSSL -DHAVE_PHP4 -X, one works, one failed: Here is what ldd -v return for pspell.so and original sablot.so --- PSPELL Version information: /usr/lib/libpspell.so: libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /usr/lib/libltdl.so.0: libdl.so.2 (GLIBC_2.1) => /lib/libdl.so.2 libdl.so.2 (GLIBC_2.0) => /lib/libdl.so.2 libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.1) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /usr/lib/libpspell-modules.so.1: libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /usr/lib/libstdc++-libc6.2-2.so.3: libm.so.6 (GLIBC_2.0) => /lib/libm.so.6 libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.1) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /lib/libc.so.6: ld-linux.so.2 (GLIBC_2.1.1) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2 /lib/libdl.so.2: libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.1) => /lib/libc.so.6 libc.so.6 (GLIBC_2.2) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /lib/libm.so.6: libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x4007c000) libc.so.6 => /lib/libc.so.6 (0x400bf000) libm.so.6 => /lib/libm.so.6 (0x401e8000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) --- SABLOT Version information: /usr/lib/libsablot.so: libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.1) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /usr/lib/libstdc++-libc6.2-2.so.3: libm.so.6 (GLIBC_2.0) => /lib/libm.so.6 libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.1) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /lib/libc.so.6: ld-linux.so.2 (GLIBC_2.1.1) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2 /lib/libm.so.6: libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 I'm not a specialist in C++ or lib loader problem but a quick fix was to rebuild sablot.so with -lexpat (just missing) and -lstdc++ With that patch you could load pspell and sablot in any orders. --- --- Sablot/engine/Makefile.in.orig Thu Feb 22 23:09:37 2001 +++ Sablot/engine/Makefile.in Thu Feb 22 23:10:30 2001 @@ -96,7 +96,7 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I../../autocfg LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ +LIBS = @LIBS@ $(EXPAT_LIBS) -lstdc++ libsablot_la_LIBADD = libsablot_la_OBJECTS = arena.lo base.lo context.lo datastr.lo error.lo \ expr.lo hash.lo output.lo parser.lo platform.lo proc.lo sablot.lo \ --- ------------------------------------------------------------------------ [2001-02-22 05:08:34] [EMAIL PROTECTED] I've got Apache (1.3.17 + mod_ssl 2.8.0) SIGTERM when using a php 4.04pl1 and mod_php 4.04pl1 with sablotron and pspell. There are both present as extension loaded via php.ini. If I remove sablotron (or pspell), apache with mod_php4 start and works correctly. The problem DIDN'T appears when using php in standalone .... It seems that Apache got a problem when loading more than one external modules using libstdc++. I've got a similar error when trying to run apache with the mod_xslt from Xalan-C Project.... --- ;; EXTENSION LOADING extension_dir = /usr/lib/php4 ;; Global PHP defaults warn_plus_overloading = On ; warn if the + operator is used with strings track_errors = On ; Store the last error/warning message in $php_errormsg (boolean) track_vars = On ; enable the $HTTP_*_VARS[] arrays, where * is one of magic_quotes_gpc = On ; magic quotes for incoming GET/POST/Cookie data ; many people think that the system is a pain in the ; a**, but it probably does represent a security ; feature for in-experienced PHP developers. Turn it ; off if you don't want PHP to mess with your incoming ; variables. include_path = ".:/usr/share/php/PEAR" session.save_path = "/var/state/php" extension=imap.so extension=ldap.so extension=pgsql.so extension=mysql.so extension=gd.so extension=gettext.so extension=sysvshm.so extension=sysvsem.so extension=shmop.so #extension=pspell.so extension=snmp.so extension=sybase_ct.so extension=pdf.so extension=swf.so extension=sockets.so extension=curl.so extension=ftp.so extension=exif.so extension=ming.so extension=sablot.so extension=php_apc_shm.so --- ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=9398&edit=1 -- 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]