stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicole Willson <will...@roguewave.com>
Subject RE: Any ideas on these StdLib build errors?
Date Tue, 07 Feb 2006 21:35:28 GMT
I'm having this same issue on SLES9sp2 with Visual Age 8.  However,
explicitly defining _RWSTD_NO_IMPLICIT_INCLUSION does not change anything.
Here are my errors:
xlC -F /package/1/ppc64/compilers/ibm/va80/vac.cfg -qarch=ppc64 -q64
-D_RWCONFIG=std64rd -I./../../../include -I./../../.. -I.. -I.
-D_RWBUILD_std -qpic -qrtti -g -qsuppress=1540-0152:1540-2908:1500-029
-qnotempinc   -c ../ti_messages.cpp  
"./../../../include/string", line 157.5: 1540-2910 (I) The template
"std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::basic_string(const char *, unsigned long, const std::allocator<char> &)"
uses a file organization for tempinc, but tempinc is not being used.
"./../../../include/string", line 64.7: 1540-0424 (I) "template class
std::basic_string" is declared on line 64 of "./../../../include/string".
"./../../../include/string", line 161.5: 1540-2910 (I) The template
"std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::basic_string(const char *, const std::allocator<char> &)" uses a file
organization for tempinc, but tempinc is not being used.
"./../../../include/string", line 64.7: 1540-0424 (I) "template class
std::basic_string" is declared on line 64 of "./../../../include/string".
"./../../../include/string", line 553.5: 1540-2910 (I) The template
"std::basic_string<char,std::char_traits<char>,std::allocator<char> >
&std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::replace(unsigned long, unsigned long, const char *, unsigned long)" uses
a file organization for tempinc, but tempinc is not being used.
"./../../../include/string", line 64.7: 1540-0424 (I) "template class
std::basic_string" is declared on line 64 of "./../../../include/string".
"./../../../include/string", line 563.5: 1540-2910 (I) The template
"std::basic_string<char,std::char_traits<char>,std::allocator<char> >
&std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::replace(unsigned long, unsigned long, unsigned long, char)" uses a file
organization for tempinc, but tempinc is not being used.
 
And

xlC -F /package/1/ppc64/compilers/ibm/va80/vac.cfg -qarch=ppc64 -q64
-D_RWCONFIG=std64rd -I./../../../include -I./../../.. -I.. -I.
-D_RWBUILD_std -qpic -qrtti -g -qsuppress=1540-0152:1540-2908:1500-029
-qnotempinc   -c ../ti_money_get.cpp  
"./../../../include/streambuf", line 283.43: 1540-0062 (S) The incomplete
class "_Traits" must not be used as a qualifier.
"./../../../include/rw/_ioiter.h", line 137.44: 1540-0700 (I) The previous
message was produced while processing "class
std::basic_streambuf<char,std::char_traits<char> >".
make: *** [ti_money_get.o] Error 1

What do you mean by "the whole translation unit"?

Nicole Willson
Consulting Engineer
Rogue Wave Software, Inc.
A Division of Quovadx
303-545-3210


-----Original Message-----
From: Martin Sebor [mailto:sebor@roguewave.com] 
Sent: Thursday, December 08, 2005 10:54 AM
To: stdcxx-dev@incubator.apache.org
Subject: Re: Any ideas on these StdLib build errors?

Jeremy Dean wrote:
> I am getting the following errors when trying to build the  Standard
> Library
> on AIX 5.3 with the Visual Age 7.0 compiler:
>  
>  xlCcore_r -q64  -D_RWCONFIG=12s -I./../../../include
> -I./../../../include/ansi -I./../../.. -I.. -I. -D_RWBUILD_std -O
> -D_REENTRANT -qsuppress=1500-029 -qrtti=all
> -qtemplateregistry=libstd12s.tempreg -qsuppress=1540-0183 -c
> ../ti_messages.cpp  
> "./../../../include/string", line 169.5: 1540-2910 (I) The template
> "std::basic_string<char,std::char_traits<char>,std::allocator<char>
> 
>>::basic_string(const char *, unsigned long, const std::allocator<char>
> 
> &)"
> uses a file organization for tempinc, but tempinc is not being used.

Is the configuration macro _RWSTD_NO_IMPLICIT_INCLUSION #defined?
(It should be when -qtemplateregistry is used.) If not, that's the
most likely reason behind these warnings and suggests that the
library was not configured correctly. What is the exact version
or release date of the compiler you're using (and the name of the
machine)?

[...]
>  xlCcore_r -q64  -D_RWCONFIG=12s -I./../../../include
> -I./../../../include/ansi -I./../../.. -I.. -I. -D_RWBUILD_std -O
> -D_REENTRANT -qsuppress=1500-029 -qrtti=all
> -qtemplateregistry=libstd12s.tempreg -qsuppress=1540-0183 -c
> ../ti_money_get.cpp  
> "./../../../include/streambuf", line 295.43: 1540-0062 (S) The
> incomplete
> class "_Traits" must not be used as a qualifier.

I see this code around line 295:

      294     // 27.5.2.4.5, p3
      295     virtual int_type overflow (int_type = traits_type::eof ()) {
      296         return traits_type::eof ();
      297     }

When you look at the whole translation unit, is the std::char_traits
template defined anywhere in it? If not, that would be the reason for
this error.

Martin

> "./../../../include/rw/_ioiter.h", line 192.50: 1540-0700 (I) The
> previous
> message was produced while processing "class
> std::basic_streambuf<char,std::char_traits<char> >".
> make: 1254-004 The error code from the last command is 1.
>  
>  
>  
> Jeremy Dean 
> 

Mime
View raw message