Hi Guilio,

As far as I can see it's a bug in the xlC_r compiler, but I agree that this should be worked around in the Xerces-C code if possible.

John

Giulio Troccoli wrote:
Thanks John, that did the trick.

However, shouldn't I be concern that I had to modify the source code?
It's probably nothing, just making an inner class public rather than
private, but I'm a sort of perfectionist and it's a bit unsettling :-)

-----Original Message-----
From: John Snelson [mailto:[EMAIL PROTECTED]
Sent: 31 January 2008 15:26
To: [email protected]
Subject: Re: Building Xerces on AIX

Hi Guilio,

You can find out what make you are using with the command:

make --version

To fix the error you're seeing, can you edit the following file:

xerces-c-src_2_8_0/src/xercesc/util/regx/RegularExpression.hpp

Please move the "private:" modifier in the RegularExpression class to
below the definition of the Context inner class. Let me know if that
fixes your problem.

John

Giulio Troccoli wrote:
I'm sorry if this has already been debated but I couldn't find a way
to
search the mailing list.

I am trying to build Xerces 2.8 on AIX 5.3. I have downloaded the
source
code, run

runConfigure -paix -cxlc -xxlC_r -z-U__XLC121__

and everything was fine.

I have correctly set and exported XERCESCROOT to
/u1/dev/xerces-c-src_2_8_0 where I had previously unzipped and
untarred
the source code.

I found out that I have two different make on my system:
/usr/bin/make
and /usr/local/bin/make.

If I use the first one, which is the default, I get a lot of errors
like
"Dependency line needs colon or double colon operator" and "Shell
command needs a leading tab" probably because it's not GNU make.

If I use the second one, I don't have those errors and Xerces starts
to
compile but then I have an error that I don't know how to fix.

kylie xercesc> /usr/local/bin/make
Preparing the directory structure for a build ...
mkdir -p /u1/dev/xerces-c-src_2_8_0/obj/AIX
mkdir -p /u1/dev/xerces-c-src_2_8_0/obj/AIX/depdom
mkdir -p /u1/dev/xerces-c-src_2_8_0/lib
/usr/local/bin/make -s -C util includes
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/util
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Platforms/AIX
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Transcoders/Iconv
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/MsgLoaders/InMemory
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/NetAccessors/Socket
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Compilers
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/util/regx
/usr/local/bin/make -s -C sax includes
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/sax
/usr/local/bin/make -s -C sax2 includes
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/sax2
/usr/local/bin/make -s -C internal includes
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/internal
/usr/local/bin/make -s -C framework includes
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/framework
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/framework/psvi
/usr/local/bin/make -s -C parsers includes
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/parsers
/usr/local/bin/make -s -C validators includes
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/validators/common
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/validators/datatype
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/validators/DTD
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/validators/schema
  (CP)

/u1/dev/xerces-c-src_2_8_0/include/xercesc/validators/schema/identity
/usr/local/bin/make -s -C dom includes
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/dom
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/dom/impl
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/dom/deprecated
Building util
/usr/local/bin/make -s -C util
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/util
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Platforms/AIX
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Transcoders/Iconv
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/MsgLoaders/InMemory
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/NetAccessors/Socket
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Compilers
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/util/regx
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Platforms/AIX
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Transcoders/Iconv
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/MsgLoaders/InMemory
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/util/Compilers
  (CP)
/u1/dev/xerces-c-src_2_8_0/include/xercesc/util/NetAccessors/Socket
  (CP)  /u1/dev/xerces-c-src_2_8_0/include/xercesc/util/regx
  (C++) RegularExpression.o
"RegularExpression.cpp", line 164.29: 1540-0300 (S) The "private"
member
"class xercesc_2_8::RegularExpression::Context" cannot be accessed.
make[2]: *** [RegularExpression.o] Error 1
make[1]: *** [regx] Error 2
make: *** [Util] Error 2

Also, do you know how I can find out whether the make I'm using is
GNU
or not?

Thanks
Giulio


Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London,
E1
6DB
Registered in England and Wales No 3027851     VAT Reg No 778499447

--
John Snelson, Oracle Corporation            http://snelson.org.uk/john
Berkeley DB XML:        http://www.oracle.com/database/berkeley-db/xml
XQilla:                                  http://xqilla.sourceforge.net


--
John Snelson, Oracle Corporation            http://snelson.org.uk/john
Berkeley DB XML:        http://www.oracle.com/database/berkeley-db/xml
XQilla:                                  http://xqilla.sourceforge.net

Reply via email to