Boost logo

Boost :

From: Pascal Bleser (pascal.bleser_at_[hidden])
Date: 2003-08-05 09:31:06


...
>>Well, if things were that simple, we would have used GCC 2.x/3.x on HP-UX as well.
>>Unfortunately, we have to link against 3rd party C++ libraries (Tuxedo (CORBA), actually) that have
>>been compiled with aCC (*gasp* even with the old roguewave STL - they don't even have the std
>>namespace).
> Since CORBA provides IIOP interoperability, I would suggest to use some
> different implementation in apps, where you would like to use boost+gcc
> instead of Tuxedo. Any problem with using free impls like: MICO
> (http://www.mico.org), omniORB (http://www.omniorb-support.com), TAO
> (http://www.theaceorb.com)?

We will (currently starting to write a C++ framework) also use OmniORB4, but our main target is BEA
Tuxedo (>=8). We _have_ to use Tuxedo, because of its abilities. We do high troughput OLTP
applications (banking, telecoms, stuff like that).
OmniORB4 or TAO would be for low-cost, smaller systems.

I've been able to get forward some by simply commenting in the two template classes that aCC didn't
want to compile (I'm just focussing on date_time and unit_test at the moment, I would already be
pleased if I was able to use that from BOOST) in operators.hpp, but then aCC crashes (*g*) with
"Too many nested classes!" and a SIGSEGV (can't allocate more stack, really)
Here's the line that breaks aCC:

boost::tokenizer<boost::char_delimiters_separator<char> > tok(s);

I reproduced that in a very simple C++ file, just by calling the constructor.
And yes, it's just the tokenizer constructor (I also tried replacing char_delim... by std::string,
same thing).

I'm afraid it's hopeless, there's no way I could make a workaround in tokenizer.
Stack size is set to 8MB.
I'll have the admins set it up for me and give it another try, but I can't really imagine that 8MB
of memory wouldn't be enough for aCC to parse the tokenizer template.

>>This gets a little off-topic, but has anybody had any success linking together objects that have
>>been compiled with g++ and aCC on HP-UX ?
> I'm afaraid name mangling is different...

Yes, I made some tests, and they all failed.
I took two different C++ files, one compiled with g++, one with aCC.

g++ as a linker (=> GNU ld) can't see the symbols from the aCC .o and vice-versa.
Even with the HP ld linker, same thing.
So I guess there's no way to mix them (I didn't really believe it could work ;)).
Would be so nice if g++ could use the native platform's (or rather: the "native" compiler's) name
mangling ;)

Anyway, thanks Karel.

But I'm afraid I'll have to drop BOOST :(

This is definately off-topic (shoot me if you want ;)) but does anyone know some other OpenSourced
(not GPL - LGPL, BSD-like, MIT, etc...) library that has date/time stuff and that might compile on
some Unices ?

Thanks for your help.

-- 
   -o) Pascal Bleser             ATOS Origin/Aachen(DE)
   /\\ System Architect  <pascal.bleser_at_[hidden]>
  _\_v Project Leader WLP Online Framework
   The more things change, the more they stay insane.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk