As Dave mentioned, you will have to rebuild the entire library (including
Xerces). Moreover, you will have to modify some code as well. Sometime back
a colleague of mine had posted an email about it to the list. Anyway, here
are the changes that we did to get Xalan running on Solaris 2.8 using Forte
C++ 6 Update 1:
1> Reuild xerces library. Follow the inistructions on the xml.apache.org
website for it.
2> Copy the xerces library to the $(XERCESCROOT)/lib.
3> Forte C++ 6 ships with RogueWave's C++ standard library so there is no
need to follow any directions about using STLport. Open the file
SolarisDefinitions.hpp in $(XALANCROOT)/src/Include.
Comment out the following:
#define XALAN_NO_NAMESPACES
#define __STL_NO_SGI_IOSTREAMS
#include <stl/_config.h>
4> Open the file XalanTransformerOutputStream.hpp in
$(XALANCROOT)/src/XalanTransformer.
Guard the XalanOutputHandlerType and XalanFlushHandlerType against
redefinitions
as follows:
#ifndef XALAN_OUTPUT_HANDLER_TYPE
typedef unsigned long (*XalanOutputHandlerType) (const void*,
unsigned long, const void*);
#define XALAN_OUTPUT_HANDLER_TYPE
#endif
#ifndef XALAN_FLUSH_HANDLER_TYPE
typedef void (*XalanFlushHandlerType) (const void*);
#define XALAN_FLUSH_HANDLER_TYPE
#endif
5> Open the file XalanCAPI.h in $(XALANCROOT)/src/XalanTransformer.
Repeat the same steps as in 6 for the definitions.
Also, remove the extern 'C' block.
6> Open the file XalanTransformer.hpp in $(XALANCROOT)/src/XalanTransformer.
Comment out everything under the #if defined(XALAN_OLD_STREAM_HEADERS)
and keep
only the #include <iostream> part.
Comment out the entire #if !defined(XALAN_NO_NAMESPACES) section.
Now go change all the ostream and istream references in all the method
declarations
to std::ostream and std::istream. Do the same in XalanTransformer.cpp as
well.
7> Go to the src/ directory. Check that ./runConfigure and ./configure are
executable.
If not then do a chmod on them.
8> Check the $PATH variable and see that the Sun C and C++ compilers are in
the path
and before any other GNU stuff.
9> Then execute ./runConfigure as follows:
For debug version -->
./runConfigure -psolaris -ccc -xCC -d -rpthread
For release version -->
./runConfigure -psolaris -ccc -xCC -rpthread
Jeetu
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, June 13, 2001 7:07 AM
> To: [EMAIL PROTECTED]
> Subject: Re: Sun WorkShop 6 ?
>
>
>
> The download was built with Workshop 4.2, so unless you can
> build using
> Workshop 6 is some sort of compatibility mode, you'll have to rebuild
> everything, and I'm not sure if the sources will build cleanly on 6.0.
>
> Dave
>
>
>
>
>
> Martin Waller
>
> <martin.waller@crystaldeci To:
> "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
> sions.com> cc:
> (bcc: David N Bertoni/CAM/Lotus)
>
> Subject: Sun WorkShop 6 ?
>
> 06/13/2001 09:22 AM
>
> Please respond to
>
> xalan-dev
>
>
>
>
>
>
>
>
> Hello,
>
> I've recently (yesterday) downloaded the Xalan kit for SunOS
> and when I
> link
> I'm getting symbol:
>
> __1cJDOMParserFparse6MKpkckb_v_ unresolved. The nm -C output
> shows it as:
>
> [351] | 0| 0|NOTY |GLOB |0 |UNDEF
> |DOMParser::DOMParser(XMLValidator*const)
>
> [__1cJDOMParser2t6MkpnMXMLValidator__v_]
>
> The associated symbol I should be being linked against is:
> (Output taken
> from nm -C on the xerces library)
>
> [3062] | 352352| 552|FUNC |GLOB |0 |9
> |DOMParser::DOMParser(XMLValidator* const)
>
> [__0oJDOMParserctCP6MXMLValidator]
>
> I think. Now we have the CC compiler below:
>
> CC: Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-02 2001/03/04
>
> It look like the mangling has changed ?
>
> Can anyone help me ?
>
> Martin
>
>
>
>