|
Boost : |
From: Timo Geusch (timo_at_[hidden])
Date: 2005-01-06 14:38:17
Caleb Epstein wrote:
>On Mon, 03 Jan 2005 22:08:05 +0000, Timo Geusch <timo_at_[hidden]> wrote:
>
>
>>I do have access to the Workshop 8 / SunPRO 5.5 compiler at work and am
>>planning to invest some time into trying to get more parts of boost to
>>work with both the 5.3 and the 5.5 compilers. I'll see if I can find the
>>time to run those tests tomorrow to see if they pass or not.
>>
>>
>
>Thanks for taking the time
>
>
They didn't pass - I've got the compiler output somewhere and will try
to email them to the list in a separate mail, unless it is preferred if
I stick it on some web space. It's fairly small (about 20k compressed).
The error message are rather weird and need further investigation.
I've managed to come to an arrangement with my manager that will allow
me to use my work computer in my spare time to look into these problems
and hopefully be able to track down the issues and submit fixes.
>>I've now got at least the smart pointer library working properly with
>>both 5.3 and 5.5.
>>
>>
>
>I'd love to have a copy of that patch if you wouldn't mind sending it
>along to the list.
>
>
It's actually not "patchworthy" at the moment, but the secret to success
in this case is that you need to specify the following options:
-features=tmplife This instructs the compiler to use standard C++
lifetime/scoping rules for temporaries. By default, it's backward
compatible with old SUN compilers that implemented different rules and
this breaks the boost smart_ptr tests. This is the only compiler flag
you need to set on the SUNPRO 5.5 compiler.
-instances=static The smart pointer templates and the SUN template
cache database of the older compilers don't agree, which is why you're
getting link failures when trying to link anything that uses them. This
switch sticks all the static variables into the object file itself (it
basically disables the template cache). Results are bigger object files,
but together with the switch above this makes the smart pointer library
work on the 5.3 compiler also.
On Solaris 2.6 I also had to edit the jamfile to link it libposix4 for
the real time functions, otherwise the tests themselves won't link. May
be different on newer versions - I didn't have the time to verify that.
Regards,
Timo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk