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

Alasdair Lumsden alasdairrr at gmail.com
Sun May 22 23:15:05 UTC 2011


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





More information about the oi-dev mailing list