stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <>
Subject Re: Portability of built Standard Library
Date Thu, 12 Apr 2007 18:19:47 GMT
Patrick Happel wrote:
> Martin,
>   I really appreciate your responses to this message, and the other one
> regarding locales.  This information should be enough to get the users
> I'm helping sorted out.  However, you didn't answer this question, which
> is the one I was specifically asked: Can a built version of the library
> (ie a .lib, .dll, or .a file) be used on a machine with different
> locales than the machine it was built on?  An answer would be
> appreciated!

Sorry about that. Compiling the latest sources on one of the
known platforms (including Solaris and Windows) should produce
the same binaries regardless of what locales were installed on
the system where the library was configured (the output of the
config test should be the same either way).


> Thanks,
>  -Patrick
> -----Original Message-----
> From: Martin Sebor [] 
> Sent: Thursday, April 12, 2007 11:15 AM
> To:
> Subject: Re: Portability of built Standard Library
> Patrick Happel wrote:
>> Hi all,
>>   I had a question come up that I wasn't sure about regarding the 
>> released versions of the library, and I'm hoping someone can answer
> it:
>> Since the Standard Library doesn't build if an acceptable locale isn't
>> installed, can a built version of the library (ie a .lib, .dll, or .a
>> file) be used on a machine with different locales than the machine it 
>> was built on?
> All you should need to build the old library on a platform with no
> locales is the new config test. In fact, you don't even need the test
> itself, you just need its output for the platform the customer is using.
> You can compile and run the test on the same platform that does have
> locales installed and get its output that way.
> You can also see the output of the latest test on the nightly test
> results page here:
> Scroll down to the row for the customer's platform (build type shouldn't
> matter), and follow the (H) link to the config header.
> For example, the config header for Solaris 10 obtained with Sun
> C++ 5.8 is here:
> -64b-5.8-15s-cfg-h.gz.txt
> Scroll down to the the line with _RWSTD_NO_LOCALE_NAME_FMAT on it. What
> follows (all the way to the line containing the _RWSTD_NO_CONDENSED_NAME
> macro) is the rest of the output of the test.
>> I'd also like to verify that the newest version of the library does 
>> not require any locales to be installed in order to build.
> Correct. I don't believe it does. It builds on Cygwin where I don't
> think there is any libc support for localization at all (unless that's
> changed in recent versions of Cygwin). I also just successfully built it
> on Solaris after replacing the libc setlocale() function with a dummy
> one in the test that always fails (see line 29 of the latest test). When
> the function fails (i.e., when the test fails to find any named
> locales), it falls back on the formats hardcoded for each platform. You
> can view the latest sources for the test
> here:
> The previous version (from stdcxx 4.1.3) is here:
> ig/src/LOCALE_NAME_FMAT.cpp
> Martin
>> Thanks,
>>  -Patrick Happel
>> Rogue Wave Software,
>> A QUOVADX(tm) division
>> Technical Support
>> Phone: 303-545-3205 -- 1-800-404-4767
>> E-mail: <>
>> Web:
>> <blocked::>

View raw message