You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Jeremy Dean <de...@roguewave.com> on 2006/01/31 16:50:15 UTC

Problem building on Solaris

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?
 
Jeremy Dean 
Rogue Wave Software,
A QUOVADX(tm) division 
Technical Support 
Phone: 303-545-3205 -- 1-800-404-4767 
E-mail: support@roguewave.com <ma...@roguewave.com>  
Web: http://www.roguewave.com/support <http://www.roguewave.com/support>  
Knowledge Base entries: 
http://www.roguewave.com/kbdocs/search.html
<http://www.roguewave.com/kbdocs/search.html>  
View issues online at: 
http://www.roguewave.com/youraccount/login/
<http://www.roguewave.com/youraccount/login/> 
 

Re: Problem building on Solaris

Posted by Martin Sebor <se...@roguewave.com>.
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