Subject: Re: [boost] [Boost 1.41: list_of] Boost compliation error, > Sun Studio 11 using standard C++ lib
From: Rob Riggs (rob_at_[hidden])
Date: 2010-01-03 15:12:29


On 01/03/2010 11:45 AM, shing fan wrote:
> So, with limited resources (time, labour, and technical expertise on complier), would it be safe to assume that i should pursue other routes (e.g. boost with gcc or with stlport) and not continue with the beast (compling boost with libCstd?). Your professional opinion is much appreciated.
>

C++ on Solaris is a bit of a lost cause at the moment. The near-term
route that we have decided to take is to abandon Sun Studio altogether
and focus on porting to GCC on Solaris using the GCC package from
Blastwave. I encourage others to consider doing the same.

The issue that you will run into with both Sun Studio & stlport and with
GCC is that neither has working locale support on Solaris. This is not
an immediate issue for us so it was a reasonable compromise. My
understanding is that locale support should be working in the near
future with "regular" GCC on Solaris using the
--enable-clocale=ieee_1003.1-2001 option.

Longer term, we do not think Sun Studio is a viable platform for C++
development. In the near future Sun will have to support Sun Studio
with 3 C++ standard libraries as they have stated publicly that they
will be adding Apache's libstdcxx (but not when). This is an untenable
position for third-party library developers (whether open or
proprietary). None of the three libraries are binary compatible, so
every third-party library one uses must be compiled with the same
library. Additionally, Sun will either have to wait to include the
Apache libstdcxx until c++1x is ratified and their compiler & library
supports all its features or it will have to support a 4th C++ standard
library. However, given Sun's history with C++ support, the option they
are most likely to choose is to have a broken C++ implementation that
doesn't support all of c++1x for the next decade.

GCCfss from Sun is another alternative, but it appears to be at a
crossroads with GCC's recent license change. Sun can no longer modify
GCC to produce IL code for their compiler back-end without also
releasing those tools under the GPL. Last I checked, this did have
working locale support. This is really the only working C++
implementation on Solaris at this point. But its lifespan appears to be
rather limited.

Rob