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

Reply via email to