[oi-dev] libstdc++ locale support on Solaris/OI

Garrett D'Amore garrett at nexenta.com
Mon May 23 02:21:31 UTC 2011


illumos doesn't have the POSIX 2008 locale APIs.  I've considered adding them... it would not be too difficult, although we would need to eliminate some process global state ... are there applications that consume these?  If there are, then its worth the time and effort.

  -- Garrett D'Amore

On May 23, 2011, at 3:15 AM, "Alasdair Lumsden" <alasdairrr at gmail.com> wrote:

> Hi All,
> 
> When discussing the option of using gcc as the default compiler for software on OI, the lack of IEEE 1003.1-2001 support in libstdc++ was cited as a reason for sticking with Sun Studio. There's a bug open on the GCC bug tracker for it here:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41495
> 
> As you can see someone has got a mostly working patch available, which potentially could be finished to address this. I posted a comment on the bug tracker, and someone responded they could be interested in working on it. I'd appreciate it if others also interested in this could provide feedback on the bug, especially Jonathan Wakely's question to which I don't know the answer:
> 
> "Does OpenIndiana support the new POSIX.1-2008 APIs, e.g. wctype_l and towupper_l?"
> 
> I also had a look at the --enable-clocale option:
> 
> http://gcc.gnu.org/cgi-bin/cvsweb.cgi/~checkout~/gcc/libstdc++-v3/docs/html/configopts.html?rev=1.21.2.10.4.3.2.2&content-type=text/html
> 
> "--enable-clocale=OPTION
> Select a target-specific underlying locale package. The choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix (IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets, 'gnu' to specify a model based on functionality from the GNU C library (langinfo/iconv/gettext) (from glibc, the GNU C library), or 'generic' to use a generic "C" abstraction which consists of "C" locale info.
> 
> As part of the configuration process, the "C" library is probed both for sufficient vintage, and installed locale data. If either of these elements are not present, the C++ locale model default to 'generic.' On glibc-based systems of version 2.2.5 and above with installed locale files, 'gnu' is automatically selected."
> 
> Does anyone know if the GNU option is viable? It specifies it takes functionality from glibc, which obviously we don't have, but then cites langinfo/iconv/gettext, the latter 2 of which we do have.
> 
> And lastly, could someone confirm whether the Apache stdcxx C++ library is a viable full alternative to libstdc++ that we could use to avoid the locale issue? If so, does anyone foresee any issues of pairing gcc with libstdc++ to take over from Sun Studio as our compiler of choice for OI (I'm talking theoretically, ignoring the work involved of making everything actually compile with it).
> 
> Cheers,
> 
> Alasdair
> 
> 
> _______________________________________________
> oi-dev mailing list
> oi-dev at openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev




More information about the oi-dev mailing list