I am trying to get the Xerces library to build on Redhat Linux 7.1. Are you aware of any problems with this operating system? Here is the complete set of steps that I attempted. I apologize for the length of this but I didn't want to leave anything out. If there is another place to bring this issue up please let me know.
I use the following setup line:
mbecker@taurus:/home/mbecker/xerces/xerces-c-src_1_2_0/src> runConfigure
-plinux -cgcc -xg++ -minmem -nfileonly -tnative -rpthread
Generating makefiles with the following options ...
Platform: linux
C Compiler: gcc
C++ Compiler: g++
Extra compile options:
Extra link options:
Message Loader: inmem
Net Accessor: fileonly
Transcoder: native
Thread option: pthread
Extra configure options:
Debug is OFF
creating cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc -O -DXML_USE_NATIVE_TRANSCODER
-DXML_USE_INMEM_MESSAGELOADER ) works... yes
checking whether the C compiler (gcc -O -DXML_USE_NATIVE_TRANSCODER
-DXML_USE_INMEM_MESSAGELOADER ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for c++... g++
checking whether the C++ compiler (g++ -O -DXML_USE_NATIVE_TRANSCODER
-DXML_USE_INMEM_MESSAGELOADER ) works... yes
checking whether the C++ compiler (g++ -O -DXML_USE_NATIVE_TRANSCODER
-DXML_USE_INMEM_MESSAGELOADER ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether g++ accepts -g... yes
checking for a BSD compatible install... /usr/bin/install -c
checking for autoconf... true
checking for floor in -lm... yes
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for XMLByte... no
checking host system type... i686-pc-linux-gnu
updating cache ./config.cache
creating ./config.status
creating Makefile
creating util/Makefile
creating util/Transcoders/ICU/Makefile
creating util/Transcoders/Iconv/Makefile
creating util/Transcoders/Iconv390/Makefile
creating util/Transcoders/Iconv400/Makefile
creating util/Platforms/Makefile
creating util/Platforms/Solaris/Makefile
creating util/Platforms/AIX/Makefile
creating util/Platforms/Linux/Makefile
creating util/Platforms/HPUX/Makefile
creating util/Platforms/OS390/Makefile
creating util/Platforms/OS400/Makefile
creating util/Platforms/IRIX/Makefile
creating util/Platforms/UnixWare/Makefile
creating util/Platforms/PTX/Makefile
creating util/Compilers/Makefile
creating util/MsgLoaders/InMemory/Makefile
creating util/MsgLoaders/ICU/Makefile
creating util/MsgLoaders/MsgCatalog/Makefile
creating util/MsgLoaders/MsgFile/Makefile
creating util/NetAccessors/Socket/Makefile
creating validators/DTD/Makefile
creating framework/Makefile
creating dom/Makefile
creating parsers/Makefile
creating internal/Makefile
creating sax/Makefile
creating ../obj/Makefile
creating conf.h
cat: ./conf.h.in: No such file or directory
conf.h is unchanged
Having build problems? Read instructions at http://xml.apache.org/xerces-c/build.html
Still cannot resolve it? Find out if someone else had the same problem
before.
Go to http://xml-archive.webweaving.org/xml-archive-xerces/
In future, you may also directly type the following commands to create the Makefiles.
export TRANSCODER="NATIVE"
export MESSAGELOADER="INMEM"
export NETACCESSOR="FileOnly"
export CC="gcc"
export CXX="g++"
export CXXFLAGS=" -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER
"
export CFLAGS=" -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER
"
export LIBS=" -lpthread "
export NETACCESSOR="FileOnly"
configure
If the result of the above commands look OK to you, go to the directory
/home/mbecker/xerces/xerces-c-src_1_2_0/src and type "gmake" to make
the XERCES-C system.
I then try to compile the src tree and get the following error for
each directory
cpp0: Invalid option -instances=static
I then remove that option from the "Makefile.incl" file and run 'gmake'
again. This time the directories compile and a library gets built. Here
is a sample compilation line:
g++ -fpic -DLINUX -D_REENTRANT -c -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER
-I/home/mbecker/xerces/xerces-c-src_1_2_0/include -o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/SimpleContentModel.o
SimpleContentModel.cpp
Here is the link line:
Building /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
g++ -DLINUX -shared -fpic -o /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/AttrImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/AttrNSImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/BinFileInputStream.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/BinInputStream.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/BinMemInputStream.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/BitSet.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/CDATASectionImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/CharacterDataImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ChildAndParentNode.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ChildNode.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/CMBinaryOp.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/CMUnaryOp.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/CommentImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ContentSpecNode.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DeepNodeListImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DFAContentModel.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DocumentFragmentImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DocumentImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DocumentTypeImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_Attr.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_CDATASection.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_CharacterData.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_Comment.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_DocumentFragment.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_Document.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_DocumentType.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_DOMException.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_DOMImplementation.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_Element.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_Entity.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_EntityReference.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DomMemDebug.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_NamedNodeMap.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_NodeFilter.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_NodeIterator.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_NodeList.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_Node.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_Notation.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOMParser.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_ProcessingInstruction.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOMString.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_Text.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_TreeWalker.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DOM_XMLDecl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DStringPool.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DTDAttDefList.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DTDAttDef.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DTDElementDecl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DTDValidator2.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/DTDValidator.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/Dummy.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ElementDefinitionImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ElementImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ElementNSImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ElemStack.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/EntityImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/EntityReferenceImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/GCCDefs.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/HeaderDummy.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/IconvTransService.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/InMemMsgLoader.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/InputSource.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/KVStringPair.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/LinuxPlatformUtils.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/LocalFileInputSource.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/MemBufInputSource.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/MixedContentModel.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/Mutexes.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/NamedNodeMapImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/NodeIDMap.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/NodeImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/NodeIteratorImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/NodeListImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/NodeVector.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/NotationImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ParentNode.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/PlatformUtils.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ProcessingInstructionImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/ReaderMgr.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/RefCountedImpl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/SAXParseException.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/SAXParser.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/SimpleContentModel.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/StdInInputSource.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/StringPool.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/TextImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/TransService.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/TreeWalkerImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/URLInputSource.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/VecAttrListImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XML256TableTranscoder.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XML88591Transcoder.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLASCIITranscoder.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLAttDef.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLAttr.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLBufferMgr.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLBuffer.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLChTranscoder.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLContentModel.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLDeclImpl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLEBCDICTranscoder.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLElementDecl.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLEntityDecl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLException.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLFormatter.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLIBM1140Transcoder.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLNotationDecl.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLReader.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLRecognizer.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLScanner2.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLScanner.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLString.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLUCSTranscoder.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLUni.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLURL.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLUTF16Transcoder.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLUTF8Transcoder.o /home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLValidator.o
/home/mbecker/xerces/xerces-c-src_1_2_0/obj/LINUX/XMLWin1252Transcoder.o
-lm -lpthread -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -lc
I then pop over to the samples directory and run the following:
mbecker@taurus:/home/mbecker/xerces/xerces-c-src_1_2_0/samples> runConfigure
-plinux -cgcc -xg++
Generating makefiles with the following options ...
Platform: linux
C Compiler: gcc
C++ Compiler: g++
Debug is OFF
creating cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc -w -O -lc) works...
yes
checking whether the C compiler (gcc -w -O -lc) is a cross-compiler...
no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for c++... g++
checking whether the C++ compiler (g++ -w -O -lc) works...
yes
checking whether the C++ compiler (g++ -w -O -lc) is a
cross-compiler... no
checking whether we are using GNU C++... yes
checking whether g++ accepts -g... yes
checking for a BSD compatible install... /usr/bin/install -c
checking for autoconf... true
checking for floor in -lm... yes
checking for pthread_create in -lpthread... yes
checking how to run the C preprocessor... gcc -E
checking for inttypes.h... yes
checking host system type... i686-pc-linux-gnu
updating cache ./config.cache
creating ./config.status
creating Makefile
creating SAXCount/Makefile
creating DOMCount/Makefile
creating SAXPrint/Makefile
creating DOMPrint/Makefile
creating MemParse/Makefile
creating Redirect/Makefile
creating PParse/Makefile
creating StdInParse/Makefile
creating EnumVal/Makefile
creating CreateDOMDocument/Makefile
Having build problems? Read instructions at http://xml.apache.org/xerces-c/build.html
Also look at http://xml.apache.org/xerces-c/samples.html
In future, you may also directly type the following commands to create
the Makefiles.
export CC=gcc
export CXX=g++
export CXXFLAGS= -w -O
export CFLAGS= -w -O
export LIBS=-L/usr/local/lib
export LDFLAGS=-lc
configure
If the result of the above commands look OK to you, go to the directory
/home/mbecker/xerces/xerces-c-src_1_2_0/samples and type "gmake" to
make the samples.
I again have to remove the " -instances=static" switch and then 'gmake'.
This now allows the sample apps to build. I update my LD_LIBRARY_PATH and
try to run the SAXCount app using the sample/data/personal.xml file. I
get a 'Segmentation fault'. When I use 'gdb' the stack looks like the following:
(gdb) run ../samples/data/personal.xml
Starting program: /home/mbecker/xerces/xerces-c-src_1_2_0/bin/SAXCount
../samples/data/personal.xml
[New Thread 1024 (LWP 24608)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 24608)]
0x00000000 in ?? ()
(gdb) where
#0 0x00000000 in ?? ()
#1 0x400afeb8 in __user_type_info::dyncast (this=0x40119eac,
boff=0, target=@0x40119ef4, objptr=0x40119c70, subtype=@0x40119e98,
subptr=0x40119c70) from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#2 0x400b1043 in __dynamic_cast_2 (from=0x402a1810 <__si_type_info
type_info function>, to=0x400be620 <__pointer_type_info type_info function>,
boff=0, address=0x40119c70, sub=0x402a1aac <type_info
type_info function>, subptr=0x40119c70)
from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#3 0x400b0e03 in __is_pointer (p=0x40119c70) from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#4 0x400b19b6 in __cp_pop_exception (p=0x805e8d8) from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#5 0x40091140 in ReaderMgr::createReader () from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#6 0x4007990b in DTDValidator::scanDocTypeDecl () from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#7 0x4007ff45 in DTDValidator::scanDTD () from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#8 0x400a7732 in XMLScanner::scanProlog () from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#9 0x400a48f5 in XMLScanner::scanDocument () from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#10 0x400a464b in XMLScanner::scanDocument () from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#11 0x400a4848 in XMLScanner::scanDocument () from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#12 0x40092b13 in SAXParser::parse () from /home/mbecker/xerces/xerces-c-src_1_2_0/lib/libxerces-c1_2.so
#13 0x08049e17 in main ()
#14 0x4015c177 in __libc_start_main (main=0x8049b0c <main>, argc=2,
ubp_av=0xbffff11c, init=0x8049734 <_init>, fini=0x804b0ac <_fini>,
rtld_fini=0x4000e184 <_dl_fini>, stack_end=0xbffff10c)
at ../sysdeps/generic/libc-start.c:129
Thanks!
Mike Becker - [EMAIL PROTECTED]
