Hi
Has anybody managed to get the combination in the title coexisting
happily ? My platform is Solaris 2.6 and my perl config is listed right
at the bottom of this message.
Evrything compiles without complaint. PHP works fine, Sablotron (via
Perl & PHP) works fine, but any script using XML::Parser or XML::XPath
itself just bombs. Outside of mod_perl the scripts run fine. I've got
the latest versions (Parser 2.30 & XPath 1.04). A couple of backtraces I
got from gdb running scripts are below. If I comment out the LoadModule
/ AddModule for php4 in httpd.conf the scripts work.
A script using XML::XPath gives
(gdb) run -X -D -f /export/tools/apache/conf/httpd.conf -d
/export/tools/apache/perl
Starting program: /export/tools/apache/bin/./httpd -X -D -f
/export/tools/apache/conf/httpd.conf -d /export/tools/apache/perl
Program received signal SIGSEGV, Segmentation fault.
0xef396200 in XML_ErrorString () from /usr/local/lib/libxmlparse.so.1
(gdb) bt
#0 0xef396200 in XML_ErrorString () from
/usr/local/lib/libxmlparse.so.1
#1 0xef396088 in XML_ErrorString () from
/usr/local/lib/libxmlparse.so.1
#2 0xef3918fc in XML_SetBase () from /usr/local/lib/libxmlparse.so.1
#3 0xef48d14c in my_fclose (fd=0x8fa340, MyFlags=-280440836) at
my_fopen.c:68
#4 0x13303c in Perl_pp_entersub ()
#5 0x12c03c in Perl_runops_standard ()
#6 0xe1b60 in S_call_body ()
#7 0xe186c in perl_call_sv ()
#8 0x49314 in perl_call_handler ()
#9 0x48964 in perl_run_stacked_handlers ()
#10 0x46594 in perl_handler ()
#11 0xa9738 in ap_invoke_handler ()
#12 0xc66c0 in process_request_internal ()
#13 0xc6744 in ap_process_request ()
#14 0xb9d60 in child_main ()
#15 0xb9ff4 in make_child ()
#16 0xba210 in startup_children ()
#17 0xbac00 in standalone_main ()
#18 0xbb7fc in main ()
A script using just XML::Parser gives
gdb) run -X -D -f /export/tools/apache/conf/httpd.conf -d
/export/tools/apache/perl
Starting program: /export/tools/apache/bin/./httpd -X -D -f
/export/tools/apache/conf/httpd.conf -d /export/tools/apache/perl
Program received signal SIGBUS, Bus error.
0x9970a0 in ?? ()
(gdb) Starting program: /export/tools/apache/bin/./httpd -X -D -f
/export/tools/apache/conf/httpd.conf -d /export/tools/apache/perl
Undefined command: "Starting". Try "help".
(gdb) bt
#0 0x9970a0 in ?? ()
#1 0xef484e30 in ttyname_r (__fildes=1870872, __buf=0x1c4ea8 "",
__size=9707920)
at /usr/include/unistd.h:769
#2 0xef48a1b0 in XS_XML__Parser__Expat_ParseStream () at mf_pack.c:196
#3 0x13303c in Perl_pp_entersub ()
#4 0x12c03c in Perl_runops_standard ()
#5 0xe1b60 in S_call_body ()
#6 0xe186c in perl_call_sv ()
#7 0x49314 in perl_call_handler ()
#8 0x48964 in perl_run_stacked_handlers ()
#9 0x46594 in perl_handler ()
#10 0xa9738 in ap_invoke_handler ()
#11 0xc66c0 in process_request_internal ()
#12 0xc6744 in ap_process_request ()
#13 0xb9d60 in child_main ()
#14 0xb9ff4 in make_child ()
#15 0xba210 in startup_children ()
#16 0xbac00 in standalone_main ()
#17 0xbb7fc in main ()
modperl build:
perl Makefile.PL PERL_DEBUG=1 USE_APACI=1 DO_HTTPD=1 PREP_HTTPD=1
EVERYTHING=1
PERL_USELARGEFILES=0
make
make install
then built Apache as
./configure --with-layout=Apache --prefix=/export/tools/apache
--activate-module=src/modules/perl/libperl.a \
--enable-module=most --enable-shared=auth_anon --disable-rule=EXPAT
make
make install
finally build PHP4 as
./configure --with-apxs=/export/tools/apache/bin/apxs
--prefix=/export/tools --with-ldap --disable-xml \
--with-sablot=/export/tools/Sablot-0.44
make install
If I do strings /export/tools/apache/bin/httpd | grep -i XML I get
nothing.
Any similar experiences or suggestion would be appreciated. Right now
I'm so jaded by all this I might quit & go stack shelves at Tescos :-/
Tim
Perl config -
humber-45> perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
Platform:
osname=solaris, osvers=2.6, archname=sun4-solaris
uname='sunos humber 5.6 generic_105181-15 sun4m sparc
sunw,sparcstation-20 '
config_args='-Dcc=gcc -B/usr/ccs/bin/'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define
use64bitint=undef use64bitall=undef uselongdouble=undef
usesocks=undef
Compiler:
cc='gcc -B/usr/ccs/bin/', optimize='-O', gccversion=2.95.1 19990816
(release)
cppflags='-fno-strict-aliasing -I/usr/local/include'
ccflags ='-fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
stdchar='unsigned char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, usemymalloc=y, prototype=define
Linker and Libraries:
ld='gcc -B/usr/ccs/bin/', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc -lcrypt -lsec
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under solaris
Compiled at Feb 7 2001 13:56:24
@INC:
/usr/local/lib/perl5/5.6.0/sun4-solaris
/usr/local/lib/perl5/5.6.0
/usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris
/usr/local/lib/perl5/site_perl/5.6.0
/usr/local/lib/perl5/site_perl/5.005/sun4-solaris
/usr/local/lib/perl5/site_perl/5.005
/usr/local/lib/perl5/site_perl
.