Hi, thanks for the reply.

If I don't specify the libraries at link time, I get unresolved symbols.

And I tried modifying some parameters to get Xerces to build with the new 
standard library, but the result was the same: broken sample binaries.

Although I tried using a vector in a test program that does some xml operations 
using Xerces, and turns out I don't have to compile with -AA to get <vector> to 
work. When you say "the old standard library", are you referring to the one 
that uses the old header files, iostream.h for example?

Thanks again.

----- Original Message ----
From: David Bertoni <[EMAIL PROTECTED]>
To: [email protected]
Sent: Friday, May 4, 2007 4:15:48 PM
Subject: Re: HP-UX, aCC and namespace std

Mihai Matei wrote:
> Hi,
> 
>     Summary: 'using namespace std' does not work with Xerces-C 2.7.0 on hp-ux 
> 11.11 parisc and aCC A.03.73
> 
>     Long version:
>     I have the following problem with Xerces-C 2.7.0, I'm compiling on hp-ux 
> parisc 11.11 with aCC A.03.73:
> 
>     #./runConfigure -php-11 -ccc -xaCC -ok
>     #gmake                                             -ok
> 
>     #file libxerces-c.sl.27.0
>     libxerces-c.sl.27.0:    PA-RISC1.1 shared library -not stripped
> 
>     #ldd libxerces-c.sl.27.0 |more
>         /usr/lib/libnsl.1 =>    /usr/lib/libnsl.1
>         /usr/lib/libxti.2 =>    /usr/lib/libxti.2
>         /usr/lib/libpthread.1 =>        /usr/lib/libpthread.1
> /usr/lib/dld.sl: Unresolved symbol:     symbol not found: __PureVirtualCalled 
>   (libxerces-c.sl.27.0)
>     ...(above line repeated)
>     That's ok, the examples work:
> 
>     #../bin/CreateDOMDocument
>     The tree just created contains: 4 elements.
> 
> BUT!!!
> 
>     My question is why is Xerces picking up the 'old' header file 
> <iostream.h> instead of <iostream>? I searched in the source code for the 
> XERCES_NEW_IOSTREAMS macro, it is defined for a few architectures, but could 
> not fine it defined for hp-ux/aCC. 
>     The problem is when I try linking my program with the C++ Standard Lib, I 
> compile with '-AA', and link with '-lstd_v2 -lCsup_v2'. If I do this, the 
> example would not work anymore! 

You should not specify the link libraries on the command line.  Instead, 
let the compiler add the appropriate libraries based on the -A option you 
specified.

The default for the aCC compiler on PA-RISC is -Aa, which specifies the old 
standard library.  Why don't you just update the compiler option in the 
file src/xercesc/Makefile.incl to add -AA to the compile and link options? 
  Or, you can try the -z and -l options for runConfigure.

> The tree just created contains:  <-- nothing
> ...and other examples even abort

You cannot mix -Aa and -AA binaries.  You need to chose one or the other.

Dave







 
____________________________________________________________________________________
It's here! Your new message!  
Get new email alerts with the free Yahoo! Toolbar.
http://tools.search.yahoo.com/toolbar/features/mail/

Reply via email to