(/etc/locale.alias)unicode outfile
eric
fsshl at att.net
Tue Jun 28 07:13:48 UTC 2011
On Tue, 2011-06-28 at 01:16 +0100, Jonathan Wakely wrote:
> On 28 June 2011 01:14, eric wrote:
> > On Tue, 2011-06-28 at 00:57 +0100, Jonathan Wakely wrote:
> >> On 28 June 2011 00:31, Jonathan Wakely <jwakely.gcc at gmail.com> wrote:
> >> > On 28 June 2011 00:04, eric wrote:
> >> >>
> >> >>> You need to configure gcc with --enable-clocale=gnu and reinstall it.
> >> >>>
> >> >>> That should be the default on GNU/Linux but apparently your system is
> >> >>> missing something necessary to support named locales.
> >> >>
> >> >> so I do
> >> >> ./configure --enable-clocale=gnu
> >> >
> >> > (You obviously didn't read the installation docs, you're not supposed
> >> > to run ./configure in the source directory)
> >> >
> >> > Did it actually enable the gnu locale model? You might need to check
> >> > $TARGET/libstdc++-v3/config.log or compare which header files are
> >> > installed. Noone can tell if you have the GNU locale model installed
> >> > successfully.
> >> >
> >> > Or why don't you just install gcc from Ubuntu's package manager?
> >> > Surely GCC 4.5 is available?
> >> >
> >> Actually you probably do have the GNU locale code installed, I missed
> >> that you can get the same error from the GNU model:
> >>
> >> void
> >> locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
> >> __c_locale __old)
> >> {
> >> __cloc = __newlocale(1 << LC_ALL, __s, __old);
> >> if (!__cloc)
> >> {
> >> // This named locale is not supported by the underlying OS.
> >> __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
> >> "name not valid"));
> >> }
> >> }
> >>
> >> So the problem must be with your glibc setup.
> >>
> >> Is en_US.utf8 listed in /etc/locale.gen? Any other locales?
> >> Uncomment the ones you want to support, then try running
> >> /usr/sbin/locale-gen as root
And I do this step, after I copy that link's sample locale.gen on my
/etc/ directory.
> >> (I don't know if that's the right way to generate locale data for
> >> Ubuntu, you might want to ask on an Ubuntu forum)
> >>
> >> I've just tried it on a Debian box which only has en_US.utf8 locale
> >> data installed, and Axel's test program worked ok and running "./a.out
> >> en_US.utf8" wrote to the file unicode.txt, so the problem is not with
> >> the code or gcc.
> > ----------------------------
> > my system don't have /etc/locale.gen
> > but
> > it have /etc/locale.alias
>
> That isn't the same.
>
> You'll need to find someone who knows how to install localization data
> files on Ubuntu.
>
> This isn't a gcc issue.
------------------------------------------------------------
I follow the link and its suggestion(hardway)
--
http://people.debian.org/~schultmc/locales.html
--------------
A sample /etc/locale.gen
# This file lists locales that you wish to have built. You can find a list
# of valid supported locales at /usr/share/i18n/SUPPORTED. Other
# combinations are possible, but may not be well tested. If you change
# this file, you need to rerun locale-gen.
#
# XXX GENERATED XXX
#
# NOTE!!! If you change this file by hand, and want to continue
# maintaining manually, remove the above line. Otherwise, use the command
# "dpkg-reconfigure locales" to manipulate this file. You can manually
# change this file without affecting the use of debconf, however, since it
# does read in your changes.
en_US.UTF-8 UTF-8
----------------------------------------------------------------
then run again test code
Not work
same error, by out << sw2 << endl;
out.good() is 0
and when I use no argument, just ./a.out, error
can not generate locale
looking to see any experienced c/g++ and ubuntu/linux programer's help
thanks a lot in advance
Eric
More information about the ubuntu-users
mailing list