You are viewing a plain text version of this content. The canonical link for it is here.
Posted to p-dev@xerces.apache.org by "Jason E. Stewart" <ja...@openinformatics.com> on 2003/11/07 19:46:19 UTC

Re: Problem Building Xerces-XML on Linux with Perl 5.6.1

Hi Eric,

Thanks for the report. I'm curious why the AttributeList test is
failing. The error means that the API didn't get all the arguments it
expected, but in the test getValue() is being called as part of a
to_hash() call, so it should be getting passed the name of the
argument, which is not happening. 

If you could run it in the debugger and see what attributes it fails
on that would be most helpful.

Cheers,
jas.

"I-Borduas, Eric V" <er...@boeing.com> writes:

> Hi,
> 
> I'm building XML-Xerces-2.3.0  and I got the following error:
> 
> At line 499 in file xerces.cpp, PERL_MAGIC_tied is undefined. 
> 
> I added the following at the top of the file (xerces.cpp) and error went away.
> 
> #ifndef PERL_MAGIC_tied
> #define PERL_MAGIC_tied 'P"
> #endif
> 
> Also, the t/AttributeList test failed with 'No matching function for overloaded 'AttributeList_getvalue' at xerces.pm line 221.
> 
> Thanks
> 
> Eric 
> 
> Eric V. Borduas         Tel   (562) 982-2247
>                         Fax   (562) 497-5896
> 3855 Lakewood Blvd. MC D801-0050                     
> Long Beach, CA 90846                             eric.v.borduas@boeing.com
> 
> 
> = Content of /etc/redhat-release  ===========================================================
> 
> Red Hat Linux release 7.3 (Valhalla)
> 
> == Output of gcc -v ===========================================================
> 
> Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
> gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)
> 
> == perl -V ====================================================================
> 
> Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
>   Platform:
>     osname=linux, osvers=2.4.17-0.13smp, archname=i386-linux
>     uname='linux daffy.perf.redhat.com 2.4.17-0.13smp #1 smp fri feb 1 10:30:48 est 2002 i686 unknown '
>     config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dcccdlflags=-fPIC -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Uusethreads -Uuseithreads -Uuselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm'
>     hint=recommended, useposix=true, d_sigaction=define
>     usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
>     useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef
>     use64bitint=undef use64bitall=undef uselongdouble=undef
>   Compiler:
>     cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include',
>     optimize='-O2 -march=i386 -mcpu=i686',
>     cppflags='-fno-strict-aliasing -I/usr/local/include'
>     ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.2 2.96-109)', gccosandvers=''
>     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4
>     alignbytes=4, usemymalloc=n, prototype=define
>   Linker and Libraries:
>     ld='gcc', ldflags =' -L/usr/local/lib'
>     libpth=/usr/local/lib /lib /usr/lib
>     libs=-lnsl -ldl -lm -lc -lcrypt -lutil
>     perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
>     libc=/lib/libc-2.2.5.so, so=so, useshrplib=false, libperl=libperl.a
>   Dynamic Linking:
>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
>     cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
> 
> 
> Characteristics of this binary (from libperl): 
>   Compile-time options:
>   Built under linux
>   Compiled at Apr  1 2002 12:23:22
>   @INC:
>     /usr/lib/perl5/5.6.1/i386-linux
>     /usr/lib/perl5/5.6.1
>     /usr/lib/perl5/site_perl/5.6.1/i386-linux
>     /usr/lib/perl5/site_perl/5.6.1
>     /usr/lib/perl5/site_perl/5.6.0
>     /usr/lib/perl5/site_perl
>     /usr/lib/perl5/vendor_perl/5.6.1/i386-linux
>     /usr/lib/perl5/vendor_perl/5.6.1
>     /usr/lib/perl5/vendor_perl
>     .
> == perl Makefile.PL ===========================================================
> 
> Using XERCES_LIB = /home/v600968/xerces-c-src_2_3_0/lib
> Using XERCES_INCLUDE = /home/v600968/xerces-c-src_2_3_0/include
> using config file: /home/v600968/xerces-c-src_2_3_0/src/xercesc/config.status
> 
> Found CXX      = g++
> Found CXXFLAGS =  -w -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET
> Found LDFLAGS  =
> Using Xerces-C version info from /home/v600968/xerces-c-src_2_3_0/include/xercesc/util/XercesVersion.hpp
> Checking to see if libxerces is in your library path...Success!!
> Using Xerces-C version: 2.3.0
> Processing hints file hints/linux.pl
> Writing Makefile for Handler
> Writing Makefile for XML::Xerces
> 
> == make =======================================================================
> 
> make[1]: Entering directory `/home/v600968/XML-Xerces-2.3.0-3/Handler'
> make[1]: Leaving directory `/home/v600968/XML-Xerces-2.3.0-3/Handler'
> g++ -c -I. -IHandler -I/home/v600968/xerces-c-src_2_3_0/include -w -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET -D_REENTRANT -DDEBIAN -D_GNU_SOURCE -O   -DVERSION=\"2.3.0-3\" -DXS_VERSION=\"2.3.0-3\" -fPIC -I/usr/lib/perl5/5.6.1/i386-linux/CORE  Xerces.cpp
> Running Mkbootstrap for XML::Xerces ()
> chmod 644 Xerces.bs
> rm -f blib/arch/auto/XML/Xerces/Xerces.so
> LD_RUN_PATH="/lib:/home/v600968/xerces-c-src_2_3_0/lib" gcc  -shared -L/usr/local/lib Xerces.o  -o blib/arch/auto/XML/Xerces/Xerces.so blib/arch/auto/Handler/Handler.a  -lpthread -L/home/v600968/xerces-c-src_2_3_0/lib -lxerces-c
> chmod 755 blib/arch/auto/XML/Xerces/Xerces.so
> cp Xerces.bs blib/arch/auto/XML/Xerces/Xerces.bs
> chmod 644 blib/arch/auto/XML/Xerces/Xerces.bs
> 
> == make test ==================================================================
> 
> make[1]: Entering directory `/home/v600968/XML-Xerces-2.3.0-3/Handler'
> make[1]: Leaving directory `/home/v600968/XML-Xerces-2.3.0-3/Handler'
> PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.6.1/i386-linux -I/usr/lib/perl5/5.6.1 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
> t/actualCast..............ok
> t/AttributeList...........Using /home/v600968/XML-Xerces-2.3.0-3/blib
> No matching function for overloaded 'AttributeList_getValue' at /home/v600968/XML-Xerces-2.3.0-3/blib/lib/XML/Xerces.pm line 221.
> # Looks like you planned 8 tests but only ran 5.
> # Looks like your test died just after 5.
> dubious
> 	Test returned status 255 (wstat 65280, 0xff00)
> DIED. FAILED tests 6-8
> 	Failed 3/8 tests, 62.50% okay
> t/Attributes..............Using /home/v600968/XML-Xerces-2.3.0-3/blib
> ok
> t/DOMAttr.................ok
> t/DOMCount................ok
> t/DOMCreate...............ok
> t/DOMDocument.............ok
> t/DOMElement..............ok
> t/DOMEntity...............ok
>         1/4 skipped: entities still not working
> t/DOMException............ok
> t/DOMNamedNodeMap.........ok
> t/DOMNodeIterator.........Using /home/v600968/XML-Xerces-2.3.0-3/blib
> ok
> t/DOMNodeList.............ok
> t/DOMNode.................ok
> t/DOMPrint................ok
> t/DOMTreeWalker...........ok
> t/DOMWriter...............ok
> t/EntityResolver..........ok
> t/Grammar.................ok
> t/InputSource.............ok
> t/LocalFileInputSource....ok
> t/MemBufInputSource.......ok
> t/PerlErrorHandler........ok
> t/SAX2Count...............ok
> t/SAXCount................ok
> t/SAXException............ok
> t/SAXParser...............ok
> t/Schema..................dubious
> 	Test returned status 0 (wstat 11, 0xb)
> 	after all the subtests completed successfully
> t/StdInInputSource........ok
> t/URLInputSource..........ok
> t/XercesDOMParser.........ok
> t/XMLException............ok
> t/XMLScanner..............ok
>         11/12 skipped: XMLScanner is no longer public
> t/XMLUni..................ok
> t/XMLUri..................ok
> t/XMLURL..................ok
> Failed 2/36 test scripts, 94.44% okay. 3/35357 subtests failed, 99.99% okay.
> Failed Test       Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> t/AttributeList.t  255 65280     8    6  75.00%  6-8
> t/Schema.t           0    11     3    0   0.00%  ??
> 12 subtests skipped.
> make: *** [test_dynamic] Error 11
> 
> == Content of config.status from xerces-c-src_2_3_0 ===========================
> 
> #! /bin/sh
> # Generated automatically by configure.
> # Run this file to recreate the current configuration.
> # This directory was configured as follows,
> # on host ericsdev02:
> #
> # ./configure 
> #
> # Compiler output produced by configure, useful for debugging
> # configure, is in ./config.log if it exists.
> 
> ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
> for ac_option
> do
>   case "$ac_option" in
>   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
>     echo "running ${CONFIG_SHELL-/bin/sh} ./configure  --no-create --no-recursion"
>     exec ${CONFIG_SHELL-/bin/sh} ./configure  --no-create --no-recursion ;;
>   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
>     echo "./config.status generated by autoconf version 2.13"
>     exit 0 ;;
>   -help | --help | --hel | --he | --h)
>     echo "$ac_cs_usage"; exit 0 ;;
>   *) echo "$ac_cs_usage"; exit 1 ;;
>   esac
> done
> 
> ac_given_srcdir=.
> ac_given_INSTALL="/usr/bin/install -c"
> 
> trap 'rm -fr Makefile util/Makefile util/Transcoders/Cygwin/Makefile util/Transcoders/ICU/Makefile util/Transcoders/Iconv/Makefile util/Transcoders/Iconv390/Makefile util/Transcoders/Uniconv390/Makefile util/Transcoders/Iconv400/Makefile util/Transcoders/IconvFBSD/Makefile util/Transcoders/IconvGNU/Makefile util/Transcoders/MacOSUnicodeConverter/Makefile util/Platforms/Makefile util/Platforms/Solaris/Makefile util/Platforms/AIX/Makefile util/Platforms/BeOS/Makefile util/Platforms/QNX/Makefile util/Platforms/Linux/Makefile util/Platforms/FreeBSD/Makefile util/Platforms/NetBSD/Makefile util/Platforms/HPUX/Makefile util/Platforms/OS390/Makefile util/Platforms/OS400/Makefile util/Platforms/IRIX/Makefile util/Platforms/PTX/Makefile util/Platforms/OpenServer/Makefile util/Platforms/UnixWare/Makefile util/Platforms/Tru64/Makefile util/Platforms/MacOS/Makefile util/Platforms/Win32/Makefile util/Compilers/Makefile util/MsgLoaders/InMemory/Makefile util/MsgLoaders/ICU/Makefile util/!
 MsgLoaders/ICU/resources/Makefile util/MsgLoaders/MsgCatalog/Makefile util/MsgLoaders/MsgFile/Makefile util/NetAccessors/Socket/Makefile util/NetAccessors/libWWW/Makefile util/NetAccessors/MacOSURLAccessCF/Makefile util/regx/Makefile validators/Makefile validators/common/Makefile validators/datatype/Makefile validators/DTD/Makefile validators/schema/Makefile validators/schema/identity/Makefile framework/Makefile dom/Makefile dom/impl/Makefile dom/deprecated/Makefile parsers/Makefile internal/Makefile sax/Makefile sax2/Makefile ../../obj/Makefile conftest*; exit 1' 1 2 15
> 
> # Protect against being on the right side of a sed subst in config.status.
> sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
>  s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
> /^[ 	]*VPATH[ 	]*=[^:]*$/d
> 
> s%@SHELL@%/bin/sh%g
> s%@CFLAGS@%  -w -O -DPROJ_XMLPARSER  -DPROJ_XMLUTIL  -DPROJ_PARSERS  -DPROJ_SAX4C  -DPROJ_SAX2  -DPROJ_DOM  -DPROJ_VALIDATORS -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET   %g
> s%@CPPFLAGS@%%g
> s%@CXXFLAGS@%  -w -O -DPROJ_XMLPARSER  -DPROJ_XMLUTIL  -DPROJ_PARSERS  -DPROJ_SAX4C  -DPROJ_SAX2  -DPROJ_DOM  -DPROJ_VALIDATORS -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET  %g
> s%@FFLAGS@%%g
> s%@DEFS@% -DSTDC_HEADERS=1 -DXMLByte=unsigned\ char %g
> s%@LDFLAGS@%   %g
> s%@LIBS@%  -lpthread %g
> s%@exec_prefix@%${prefix}%g
> s%@prefix@%/usr/local%g
> s%@program_transform_name@%s,x,x,%g
> s%@bindir@%${exec_prefix}/bin%g
> s%@sbindir@%${exec_prefix}/sbin%g
> s%@libexecdir@%${exec_prefix}/libexec%g
> s%@datadir@%${prefix}/share%g
> s%@sysconfdir@%${prefix}/etc%g
> s%@sharedstatedir@%${prefix}/com%g
> s%@localstatedir@%${prefix}/var%g
> s%@libdir@%${exec_prefix}/lib%g
> s%@includedir@%${prefix}/include%g
> s%@oldincludedir@%/usr/include%g
> s%@infodir@%${prefix}/info%g
> s%@mandir@%${prefix}/man%g
> s%@CC@%gcc%g
> s%@CXX@%g++%g
> s%@INSTALL_PROGRAM@%${INSTALL}%g
> s%@INSTALL_SCRIPT@%${INSTALL_PROGRAM}%g
> s%@INSTALL_DATA@%${INSTALL} -m 644%g
> s%@AUTOCONF@%autoconf%g
> s%@CPP@%gcc -E%g
> s%@host@%i686-pc-linux-gnu%g
> s%@host_alias@%i686-pc-linux-gnu%g
> s%@host_cpu@%i686%g
> s%@host_vendor@%pc%g
> s%@host_os@%linux-gnu%g
> s%@platform@%LINUX%g
> s%@cxx@%g++%g
> s%@GXX@%yes%g
> s%@cc@%gcc%g
> s%@GCC@%yes%g
> s%@prefix_include@%${PREFIX}/include/xercesc%g
> s%@osver@%%g
> s%@cxxflags@%  -w -O -DPROJ_XMLPARSER  -DPROJ_XMLUTIL  -DPROJ_PARSERS  -DPROJ_SAX4C  -DPROJ_SAX2  -DPROJ_DOM  -DPROJ_VALIDATORS -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET  %g
> s%@cppflags@%%g
> s%@cflags@%  -w -O -DPROJ_XMLPARSER  -DPROJ_XMLUTIL  -DPROJ_PARSERS  -DPROJ_SAX4C  -DPROJ_SAX2  -DPROJ_DOM  -DPROJ_VALIDATORS -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET   %g
> s%@ldflags@%   %g
> s%@libs@%  -lpthread %g
> s%@uselibwww@%%g
> s%@messageloader@%INMEM%g
> s%@transcoder@%NATIVE%g
> s%@netaccessor@%Socket%g
> s%@threads@%pthread%g
> s%@bitstobuild@%32%g
> 
> CEOF
> 
> # Split the substitutions into bite-sized pieces for seds with
> # small command number limits, like on Digital OSF/1 and HP-UX.
> ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
> ac_file=1 # Number of current file.
> ac_beg=1 # First line for current file.
> ac_end=$ac_max_sed_cmds # Line after last line for current file.
> ac_more_lines=:
> ac_sed_cmds=""
> while $ac_more_lines; do
>   if test $ac_beg -gt 1; then
>     sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
>   else
>     sed "${ac_end}q" conftest.subs > conftest.s$ac_file
>   fi
>   if test ! -s conftest.s$ac_file; then
>     ac_more_lines=false
>     rm -f conftest.s$ac_file
>   else
>     if test -z "$ac_sed_cmds"; then
>       ac_sed_cmds="sed -f conftest.s$ac_file"
>     else
>       ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
>     fi
>     ac_file=`expr $ac_file + 1`
>     ac_beg=$ac_end
>     ac_end=`expr $ac_end + $ac_max_sed_cmds`
>   fi
> done
> if test -z "$ac_sed_cmds"; then
>   ac_sed_cmds=cat
> fi
> 
> CONFIG_FILES=${CONFIG_FILES-"Makefile util/Makefile util/Transcoders/Cygwin/Makefile util/Transcoders/ICU/Makefile util/Transcoders/Iconv/Makefile util/Transcoders/Iconv390/Makefile util/Transcoders/Uniconv390/Makefile util/Transcoders/Iconv400/Makefile util/Transcoders/IconvFBSD/Makefile util/Transcoders/IconvGNU/Makefile util/Transcoders/MacOSUnicodeConverter/Makefile util/Platforms/Makefile util/Platforms/Solaris/Makefile util/Platforms/AIX/Makefile util/Platforms/BeOS/Makefile util/Platforms/QNX/Makefile util/Platforms/Linux/Makefile util/Platforms/FreeBSD/Makefile util/Platforms/NetBSD/Makefile util/Platforms/HPUX/Makefile util/Platforms/OS390/Makefile util/Platforms/OS400/Makefile util/Platforms/IRIX/Makefile util/Platforms/PTX/Makefile util/Platforms/OpenServer/Makefile util/Platforms/UnixWare/Makefile util/Platforms/Tru64/Makefile util/Platforms/MacOS/Makefile util/Platforms/Win32/Makefile util/Compilers/Makefile util/MsgLoaders/InMemory/Makefile util/MsgLoaders/IC!
 U/Makefile util/MsgLoaders/ICU/resources/Makefile util/MsgLoaders/MsgCatalog/Makefile util/MsgLoaders/MsgFile/Makefile util/NetAccessors/Socket/Makefile util/NetAccessors/libWWW/Makefile util/NetAccessors/MacOSURLAccessCF/Makefile util/regx/Makefile validators/Makefile validators/common/Makefile validators/datatype/Makefile validators/DTD/Makefile validators/schema/Makefile validators/schema/identity/Makefile framework/Makefile dom/Makefile dom/impl/Makefile dom/deprecated/Makefile parsers/Makefile internal/Makefile sax/Makefile sax2/Makefile ../../obj/Makefile"}
> for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
>   # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
>   case "$ac_file" in
>   *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
>        ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
>   *) ac_file_in="${ac_file}.in" ;;
>   esac
> 
>   # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
> 
>   # Remove last slash and all that follows it.  Not all systems have dirname.
>   ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
>   if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
>     # The file is in a subdirectory.
>     test ! -d "$ac_dir" && mkdir "$ac_dir"
>     ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
>     # A "../" for each directory in $ac_dir_suffix.
>     ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
>   else
>     ac_dir_suffix= ac_dots=
>   fi
> 
>   case "$ac_given_srcdir" in
>   .)  srcdir=.
>       if test -z "$ac_dots"; then top_srcdir=.
>       else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
>   /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
>   *) # Relative path.
>     srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
>     top_srcdir="$ac_dots$ac_given_srcdir" ;;
>   esac
> 
>   case "$ac_given_INSTALL" in
>   [/$]*) INSTALL="$ac_given_INSTALL" ;;
>   *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
>   esac
> 
>   echo creating "$ac_file"
>   rm -f "$ac_file"
>   configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
>   case "$ac_file" in
>   *Makefile*) ac_comsub="1i\\
> # $configure_input" ;;
>   *) ac_comsub= ;;
>   esac
> 
>   ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
>   sed -e "$ac_comsub
> s%@configure_input@%$configure_input%g
> s%@srcdir@%$srcdir%g
> s%@top_srcdir@%$top_srcdir%g
> s%@INSTALL@%$INSTALL%g
> " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
> fi; done
> rm -f conftest.s*
> 
> chmod +x ./runConfigure
> chmod +x ./configure
> exit 0

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org