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 "Palisetti, Krishna_Mohan" <pa...@deshaw.com> on 2005/02/21 15:18:50 UTC
Problem building XML::Xerces v2.5.0
Hi,
I am trying to build XML::Xerces for perl 5.6.1 and the build
has been failing with the following error messages.
/proj/lang/forte-6.2/SUNWspro/bin/CC -c -I. -IHandler
-I/u/palisetk/tmp/xerces-c-src_2_5_0/include -w
-DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER
-DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET -D_REENTRANT -O
-DVERSION=\"2.5.0-0\" -DXS_VERSION=\"2.5.0-0\" -KPIC
"-I/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE" Xerces.cpp
"/u/palisetk/tmp/xerces-c-src_2_5_0/include/xercesc/internal/XSerializeE
ngine.hpp", line 477: Error: Multiple declaration for
xercesc_2_5::XSerializeEngine::operator<<(char).
"/u/palisetk/tmp/xerces-c-src_2_5_0/include/xercesc/internal/XSerializeE
ngine.hpp", line 497: Error: Multiple declaration for
xercesc_2_5::XSerializeEngine::operator>>(char&).
2 Error(s) detected.
Given below are the steps that I have followed.
1. built Xerces-2.5 from
source(http://archive.apache.org/dist/xml/xerces-c/Xerces-C_2_5_0/xerces
-c-src_2_5_0.tar.gz) to ~/tmp/xerces-c-src_2_5_0
2. export XERCESCROOT=~/tmp/xerces-c-src_2_5_0
3. cd ~/tmp/XML-Xerces-2.5.0-0 . (this is the dir where I have the
XML::Xerces source)
3. perl Makefile.PL PREFIX=~/my/lib
CC=/proj/lang/forte-6.2/SUNWspro/bin/CC
4. gmake
======Make transcript=====================
palisetk@gbo3.nyc:~/tmp/XML-Xerces-2.5.0-0$ gmake
cp Xerces.pm blib/lib/XML/Xerces.pm
gmake -C Handler static
gmake[1]: Entering directory
`/u/palisetk/tmp/XML-Xerces-2.5.0-0/Handler'
CC -c -I. -IHandler -I/u/palisetk/tmp/xerces-c-src_2_5_0/include
-I/usr/local/include -I/usr/include -I/usr/local/gnu/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"\"
-DXS_VERSION=\"\" -KPIC "-I/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE"
PerlCallbackHandler.cpp
CC -c -I. -IHandler -I/u/palisetk/tmp/xerces-c-src_2_5_0/include
-I/usr/local/include -I/usr/include -I/usr/local/gnu/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"\"
-DXS_VERSION=\"\" -KPIC "-I/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE"
PerlContentCallbackHandler.cpp
"PerlContentCallbackHandler.cpp", line 66: Warning: String literal
converted to char* in initialization.
"PerlContentCallbackHandler.cpp", line 318: Warning: String literal
converted to char* in initialization.
2 Warning(s) detected.
CC -c -I. -IHandler -I/u/palisetk/tmp/xerces-c-src_2_5_0/include
-I/usr/local/include -I/usr/include -I/usr/local/gnu/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"\"
-DXS_VERSION=\"\" -KPIC "-I/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE"
PerlDocumentCallbackHandler.cpp
"PerlDocumentCallbackHandler.cpp", line 57: Warning: String literal
converted to char* in initialization.
"PerlDocumentCallbackHandler.cpp", line 295: Warning: String literal
converted to char* in initialization.
2 Warning(s) detected.
CC -c -I. -IHandler -I/u/palisetk/tmp/xerces-c-src_2_5_0/include
-I/usr/local/include -I/usr/include -I/usr/local/gnu/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"\"
-DXS_VERSION=\"\" -KPIC "-I/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE"
PerlErrorCallbackHandler.cpp
"PerlErrorCallbackHandler.cpp", line 53: Warning: String literal
converted to char* in initialization.
"PerlErrorCallbackHandler.cpp", line 82: Warning: String literal
converted to char* in initialization.
"PerlErrorCallbackHandler.cpp", line 114: Warning: String literal
converted to char* in initialization.
3 Warning(s) detected.
rm -rf ../blib/arch/auto/Handler/Handler.a
/usr/ccs/bin/ar cr ../blib/arch/auto/Handler/Handler.a
PerlCallbackHandler.o PerlContentCallbackHandler.o
PerlDocumentCallbackHandler.o PerlErrorCallbackHandler.o && :
../blib/arch/auto/Handler/Handler.a
chmod 755 ../blib/arch/auto/Handler/Handler.a
gmake[1]: Leaving directory `/u/palisetk/tmp/XML-Xerces-2.5.0-0/Handler'
gmake[1]: Entering directory
`/u/palisetk/tmp/XML-Xerces-2.5.0-0/Handler'
gmake[1]: Leaving directory `/u/palisetk/tmp/XML-Xerces-2.5.0-0/Handler'
/proj/lang/forte-6.2/SUNWspro/bin/CC -c -I. -IHandler
-I/u/palisetk/tmp/xerces-c-src_2_5_0/include -w
-DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER
-DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET -D_REENTRANT -O
-DVERSION=\"2.5.0-0\" -DXS_VERSION=\"2.5.0-0\" -KPIC
"-I/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE" Xerces.cpp
"/u/palisetk/tmp/xerces-c-src_2_5_0/include/xercesc/internal/XSerializeE
ngine.hpp", line 477: Error: Multiple declaration for
xercesc_2_5::XSerializeEngine::operator<<(char).
"/u/palisetk/tmp/xerces-c-src_2_5_0/include/xercesc/internal/XSerializeE
ngine.hpp", line 497: Error: Multiple declaration for
xercesc_2_5::XSerializeEngine::operator>>(char&).
2 Error(s) detected.
gmake: *** [Xerces.o] Error 2
======== code snippet from from XSerializeEngine.hpp ============
473 XSerializeEngine& operator<<(long);
474 XSerializeEngine& operator<<(unsigned long);
475 XSerializeEngine& operator<<(float);
476 XSerializeEngine& operator<<(double);
477 XSerializeEngine& operator<<(bool);
478
479 /***
480 *
481 * Extraction operators for
482 * . basic Xerces data types
483 * . built-in types
484 *
485 ***/
486 XSerializeEngine& operator>>(XMLByte&);
487 XSerializeEngine& operator>>(XMLCh&);
488
489 XSerializeEngine& operator>>(char&);
490 XSerializeEngine& operator>>(short&);
491 XSerializeEngine& operator>>(int&);
492 XSerializeEngine& operator>>(unsigned int&);
493 XSerializeEngine& operator>>(long&);
494 XSerializeEngine& operator>>(unsigned long&);
495 XSerializeEngine& operator>>(float&);
496 XSerializeEngine& operator>>(double&);
497 XSerializeEngine& operator>>(bool&);
======= perl info. ============
palisetk@gbo3.nyc:~/tmp/xerces_current$ perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=solaris, osvers=2.6, archname=sun4-solaris
uname='sunos sys2.nyc.deshaw.com 5.6 generic_105181-26 sun4u sparc
sunw,ultra-2 '
config_args='-f config.sh -s'
hint=previous, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
Compiler:
cc='cc', ccflags ='-I/usr/local/include -I/usr/include
-I/usr/local/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-I/usr/local/include -I/usr/include
-I/usr/local/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccversion='Sun WorkShop 6 update 2 C 5.3 2001/05/15', gccversion='',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
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=n, prototype=define
Linker and Libraries:
ld='cc', ldflags ='-L/usr/local/lib -L/usr/lib -L/usr/local/gnu/lib
-L/usr/ccs/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib /usr/local/gnu/lib
libs=-lsocket -lresolv -lnsl -lgdbm -ldl -lm -lc
perllibs=-lsocket -lresolv -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-KPIC', lddlflags='-G -L/usr/local/lib -L/usr/lib
-L/usr/local/gnu/lib -L/usr/ccs/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under solaris
Compiled at Oct 16 2002 02:51:45
%ENV:
PERL5LIB="/u/palisetk/staging/lib"
@INC:
/u/palisetk/staging/lib
/usr/local/lib/perl5/5.6.1/sun4-solaris
/usr/local/lib/perl5/5.6.1
/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris
/usr/local/lib/perl5/site_perl/5.6.1
/prod/tools/packages/lib/perl5/5.6.1/sun4-solaris
/prod/tools/packages/lib/perl5/5.6.1
.
======CC version info. =============
palisetk@gbo3.nyc:~/tmp/xerces-c-src_2_5_0/scripts$ CC -V
CC: Sun WorkShop 6 update 2 C++ 5.3 2001/05/15
Any help on this is much appreciated.
Thanks,
Mohan,
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Problem building XML::Xerces v2.5.0
Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
"Palisetti, Krishna_Mohan" <pa...@deshaw.com> writes:
> "/u/palisetk/tmp/xerces-c-src_2_5_0/include/xercesc/internal/XSerializeE
> ngine.hpp", line 477: Error: Multiple declaration for
> xercesc_2_5::XSerializeEngine::operator<<(char).
> "/u/palisetk/tmp/xerces-c-src_2_5_0/include/xercesc/internal/XSerializeE
> ngine.hpp", line 497: Error: Multiple declaration for
> xercesc_2_5::XSerializeEngine::operator>>(char&).
> 2 Error(s) detected.
> 477 XSerializeEngine& operator<<(bool);
> 497 XSerializeEngine& operator>>(bool&);
Notice that it's declaring errors for operator>>(char&), but the
header files actually define the operartor for bool - this is a *very*
common problem with old Perl's - they were built with something aking
to:
#define bool char
So you will get this compile error.
If you modify Xerces.cpp around line 826, you should see a huge number
of #ifdef FOO => #undef FOO, just add this:
#ifdef bool
#undef bool
#endif /* bool */
and try compiling again.
Perl 5.6.1 is seriously old - I would consider getting it upgraded.
Cheers,
jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org