Ari,

Xerces C 2.5.0 won't compile under Fedora Core 3, either, which uses gcc 3.4.2-6.fc3; the compiler reports the same error that you got under Mac OS X 10.4.

The fix for Fedora Core 3, and probably for Mac OS X 10.4, is this:

In the original source code that you obtain immediately after uncompressing and untarring xerces-c-src_2_5_0.tar.gz, modify the file xerces-c-src_2_5_0/src/xercesc/util/RefArrayOf.hpp by adding the line

#include <xercesc/framework/MemoryManager.hpp>

The context of this additional line is:

#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/ArrayIndexOutOfBoundsException.hpp>
#include <xercesc/util/IllegalArgumentException.hpp>
#include <xercesc/util/XMLEnumerator.hpp>
#include <xercesc/framework/MemoryManager.hpp>

XERCES_CPP_NAMESPACE_BEGIN

After I made this change, I was able to compile Xerces 2.5.0 under Fedora Core 3.

It would be useful for someone with commit capability to make this change to the 2.5.0 distribution in Subversion and the .tar.gz file on the ftp server, since a lot of us still need to use Xerces C 2.5.0 and XML::Xerces 2.5.0 until Jason Stewart finishes XML::Xerces 2.6.0. (I am using XML::Xerces with Bio::MAGE for generating MAGE-ML documents.)

-- Conrad

Ari Kahn wrote:

Installed Tiger. Fried my xerces (2.5) and perl XML::Xerces among other things. So I thought I would just recompile it. Not gonna happen. Has anyone successfully installed xerces and or XML::Xerces since April 29?

Seems the issue is with MemoryManager?
invalid use of undefined type 'struct xercesc_2_5::MemoryManager'

Any help much appreciated.

A little more output (if it helps):
> ./runConfigure -p macosx -n native
<snip>
export TRANSCODER="NATIVE"
export MESSAGELOADER="INMEM"
export NETACCESSOR="NATIVE"
export THREADS="pthread"
export BITSTOBUILD="32"
export CC=""
export CXX=""
export 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_NATIVE " export 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_NATIVE "
export LDFLAGS=" "
export LIBS=" -lpthread "

> make
<snip>
mkdir -p /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/dom/impl
cp -fp DOMDeepNodeListPool.c /Users/kahn/dev/xerces-c-src_2_5_0/ include/xercesc/dom/impl c++ -DMACOSX -D_REENTRANT -c -I/Users/kahn/dev/xerces-c-src_2_5_0/ include -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_NATIVE -o /Users/kahn/dev/ xerces-c-src_2_5_0/obj/MACOSX/DOMAttrImpl.o DOMAttrImpl.cpp /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: In constructor `xercesc_2_5::RefArrayOf<TElem>::RefArrayOf(unsigned int, xercesc_2_5::MemoryManager*)': /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: 111: error: invalid use of undefined type 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/XMemory.hpp: 70: error: forward declaration of 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: In constructor `xercesc_2_5::RefArrayOf<TElem>::RefArrayOf(TElem**, unsigned int, xercesc_2_5::MemoryManager*)': /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: 125: error: invalid use of undefined type 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/XMemory.hpp: 70: error: forward declaration of 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: In copy constructor `xercesc_2_5::RefArrayOf<TElem>::RefArrayOf(const xercesc_2_5::RefArrayOf<TElem>&)': /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: 137: error: invalid use of undefined type 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/XMemory.hpp: 70: error: forward declaration of 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: In destructor `xercesc_2_5::RefArrayOf<TElem>::~RefArrayOf()': /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: 144: error: invalid use of undefined type 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/XMemory.hpp: 70: error: forward declaration of 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: In member function `xercesc_2_5::RefArrayOf<TElem>& xercesc_2_5::RefArrayOf<TElem>::operator=(const xercesc_2_5::RefArrayOf<TElem>&)': /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: 176: error: invalid use of undefined type 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/XMemory.hpp: 70: error: forward declaration of 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: 178: error: invalid use of undefined type 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/XMemory.hpp: 70: error: forward declaration of 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: In member function `void xercesc_2_5::RefArrayOf<TElem>::resize (unsigned int)': /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: 276: error: invalid use of undefined type 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/XMemory.hpp: 70: error: forward declaration of 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/RefArrayOf.c: 290: error: invalid use of undefined type 'struct xercesc_2_5::MemoryManager' /Users/kahn/dev/xerces-c-src_2_5_0/include/xercesc/util/XMemory.hpp: 70: error: forward declaration of 'struct xercesc_2_5::MemoryManager'
make[2]: *** [DOMAttrImpl.o] Error 1
make[1]: *** [impl] Error 2
make: *** [Dom] Error 2

--
Conrad Halling
[EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to