incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Dean <d...@roguewave.com>
Subject RE: Problem building on Solaris
Date Wed, 01 Feb 2006 17:56:42 GMT
After rebuilding with these macros, everything seems to go fine, the library
builds ok.  Now we are getting strange errors with the examples: alg4.cpp

It is failing on line 156 of include/set

The error is unable to instantiate from non templated ....

Unfortunately this is from a secure site, so not able to get exact error
message. 

Getting similar error with example tele.cpp  failing on line 349 ofr
include/map

Jeremy

-----Original Message-----
From: Martin Sebor [mailto:sebor@roguewave.com] 
Sent: Tuesday, January 31, 2006 9:58 AM
To: stdcxx-dev@incubator.apache.org
Subject: Re: Problem building on Solaris


Jeremy Dean wrote:
> I am building on Solaris 10 with the Sun Studio 10 compiler and 
> getting this
> error:
> 
> CC  -D_RWCONFIG=15dECB -I./../../../include -I./../../.. -I.. -I. 
> -D_RWBUILD_std -g -D_REENTRANT -mt -PIC -library=%none  -c 
> ../bitset.cpp
> 
> CC  -D_RWCONFIG=15dECB -I./../../../include -I./../../.. -I.. -I. 
> -D_RWBUILD_std -g -D_REENTRANT -mt -PIC -library=%none  -c ../char.cpp
> CC  -D_RWCONFIG=15dECB -I./../../../include -I./../../.. -I.. -I.
> -D_RWBUILD_std -g -D_REENTRANT -mt -PIC -library=%none  -c
> ../codecvt.cpp  
> "./../../../include/loc/_rw_setlocale.h", line 53: Error: _RWSTD_LC_ALL
> is
> not defined.
> 1 Error(s) detected.
> *** Error code 1
> make: Fatal error: Command failed for target `codecvt.o'
>  
> This is on a secure machine and can not install any locales on it:
>  
> locale -a
> POSIX
> C
> iso_8859_1
>  
> Is there any work around for this problem?

The most likely cause is that the LOCALE_NAME_FMAT.cpp configuration test
fails to #define the macro (the test is designed to define these even if no
locales are installed so what you're seeing is definitely a bug). I created
STDCXX-128 for it: http://issues.apache.org/jira/browse/STDCXX-128

The easiest workaround is to grab the macro definitions from a test run a
machine that does have some locales installed. Here's what I get on one of
our Solaris 10 boxes:

#define _RWSTD_LC_COLLATE   3
#define _RWSTD_LC_CTYPE     0
#define _RWSTD_LC_MONETARY  4
#define _RWSTD_LC_NUMERIC   1
#define _RWSTD_LC_TIME      2
#define _RWSTD_LC_MESSAGES  5
#define _RWSTD_LC_ALL       6
#define _RWSTD_LC_MAX      _RWSTD_LC_ALL
#define _RWSTD_LC_MIN      _RWSTD_LC_CTYPE
#define _RWSTD_CAT_3(pfx) { 3, "LC_COLLATE", pfx::_C_collate } #define
_RWSTD_CAT_0(pfx) { 0, "LC_CTYPE", pfx::_C_ctype } #define _RWSTD_CAT_4(pfx)
{ 4, "LC_MONETARY", pfx::_C_monetary } #define _RWSTD_CAT_1(pfx) { 1,
"LC_NUMERIC", pfx::_C_numeric } #define _RWSTD_CAT_2(pfx) { 2, "LC_TIME",
pfx::_C_time } #define _RWSTD_CAT_5(pfx) { 5, "LC_MESSAGES",
pfx::_C_messages } // #define _RWSTD_NO_SETLOCALE_ENVIRONMENT #define
_RWSTD_NO_CAT_NAMES #define _RWSTD_CAT_SEP "/" #define _RWSTD_NO_CAT_EQ //
#define _RWSTD_NO_INITIAL_CAT_SEP // #define _RWSTD_NO_CONDENSED_NAME

Martin

Mime
View raw message