Good luck. It probably won't work. Here are the list of stumbling blocks you'll have to overcome to get it to "seem" to work. If you use iostreams w/GCC, it definitely won't be stable.
1) The pre-built binary on the apache site is built with Forte C++. It won't link with g++. The name mangling is different between the two compilers. So you'll probably want to try re-building a G++ shared object with gcc. 2) Rebuilding the xerces .so with GCC on Solaris 8 (at least) doesn't work out of the box. I had to do a number of manual steps for it to build. These included trying to baby ./runConfigure to complete building the Makefiles and such. I also have to move a number of files by hand into certain directories and a few other things I don't remember right now. Most of this seemed to do with the platform specific stuff. 3) So you can at least get a Solaris 8 build of xerces.so built with gcc. Then you'll find out that with that version of gcc, there exists a defect in libstdc++, particularly with STL strings and the iostreams (new) on this platform. This defect only really shows itself on multiprocessor sparc boxen. It has been fixed in gcc 3.0.x -cvs (not 3.0.3). This last point may or may not affect you directly, as I am refering to code OUTSIDE of xerces (we experienced this defect in our code), but I suspect the chances of you using iostream code is high enough to warrant this warning. 4) Be wary of what construct you use to create DOM_Documents. We had been using DOM_Document::createDocument() for about a year, and is wasn't until we scaled up a bit and went multithreaded that we learned that this isn't the "correct" way to create DOM_Documents. Use DOM_Implementation.createDocument() instead. The former function will return you a DOM_Document that you can actually use, up until the point that you attempt to "print" it out using XMLFormatter. Then you'll realize that unless you set the document name, you'll get core dumps every time. This probably isn't a defect so much in Xerces as it is a gotcha for improper usage (I haven't verified if this has actually been logged as a defect or fixed, btw). I very much wish that function on DOM_Document wasn't on that interface. It's misleading or at least not completely documented for how to actually use it (i.e. you HAVE to do at least 1 more function call). Of course, the example codes do show the latter, more correct way. After about a month of debugging, we found out about issue #3 and #4 above, and have sinced moved to Forte C++ (Workshop) Update 1. Forte C++ WS update 2 has severly broken exception handling. I still personally regret that we can't use gcc any longer, as we had been using that for over a year until we switched to new iostreams, integrated with ACE (Adaptive Communication Environment), and made our application multithreaded. Mark >From: Flavio Oliveira <[EMAIL PROTECTED]> >Reply-To: [EMAIL PROTECTED] >To: [EMAIL PROTECTED] >Subject: Xerces-C++ for Solaris 8 >Date: Mon, 4 Mar 2002 08:41:49 -0300 (ART) > >Hi, > >I am using the gcc-2.95.3 for solaris 8.0. >I will go to get to use the Xerces-C++ library in my >applications? > >Thank you, flavio > >E-Mail: [EMAIL PROTECTED] > > >_______________________________________________________________________________________________ >Yahoo! Empregos >O trabalho dos seus sonhos pode estar aqui. Cadastre-se hoje mesmo no >Yahoo! Empregos e tenha acesso a milhares de vagas abertas! >http://br.empregos.yahoo.com/ > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
