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 2005/12/07 19:42:28 UTC

Any ideas on these StdLib build errors?

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.
"./../../../include/string", line 76.7: 1540-0424 (I) "template class
std::basic_string" is declared on line 76 of "./../../../include/string".
"./../../../include/string", line 173.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 76.7: 1540-0424 (I) "template class
std::basic_string" is declared on line 76 of "./../../../include/string".
"./../../../include/string", line 547.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 76.7: 1540-0424 (I) "template class
std::basic_string" is declared on line 76 of "./../../../include/string".
"./../../../include/string", line 557.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.
"./../../../include/string", line 76.7: 1540-0424 (I) "template class
std::basic_string" is declared on line 76 of "./../../../include/string".
"./../../../include/string", line 860.26: 1540-2910 (I) The template
"std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::_C_string_ref_type
*std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::_C_get_rep(unsigned long, unsigned long)" uses a file organization for
tempinc, but tempinc is not being used.
"./../../../include/string", line 76.7: 1540-0424 (I) "template class
std::basic_string" is declared on line 76 of "./../../../include/string".
 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.
"./../../../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 

Re: Any ideas on these StdLib build errors?

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