This is the mail archive of the
mailing list for the GCC project.
Re: GCC with Solaris -- using std::locale crashes
On 26 August 2012 00:29, JonathonS wrote:
> I am currently using GCC 4.4.4 on my Solaris machine and I am having a
> difficult time getting it to compile with "locale-support".
Your question is not appropriate for this mailing list, which is about
development of GCC. For help using GCC please use the gcc-help mailing
> For example, if I build the simple file:
> #include <iostream>
> int main()
> return 0;
> and run it, it will throw a runtime exception -- "std::runtime_error:
> locale::facet::_S_create_c_locale name not valid"
> I've stepped through the GCC code and I notice that there is code in
> c++locale.cc (libstdc++v3 folder) that looks something like this:
> If (locale being used is NOT “C” and NOT “POSIX”)
> throw std::runtime_error(“locale::facet::_S_create name not valid”);
> So, I am guessing that the problem here, is that GCC is not build with
> "locale-support" and therefore, I am only allowed to use "C" and
> "POSIX" locales. Is this correct? Also, I am guessing if that if I
> rebuild GCC to support locales, that I can use locales other than "C"
> or "POSIX" on Solaris.
> I tried rebuilding GCC 4.4.4 with the flag "--enable-clocale=gnu" and
That won't work on Solaris.
> it still crashed in the same location. I also tried building GCC with
> the flag "--enable-clocale=ieee_1003.1-2001", and this time, it didn't
> even build.
Please check if it's the same as an existing report in
http://gcc.gnu.org/bugzilla and open a new bug i not.
> So, I was wondering if there is something that I haven't tried that
> someone can suggest? I'd like to build GCC so that I can use UTF-8
The "gnu" model is the only one that is complete. The
"ieee_1003.1-2001" model should work on Solaris, but does have some
If I ever find time I intend to work on the locale code to use the
POSIX 2008 xlocale features, which would provide the same
functionality as the "gnu" model but on more platforms than just