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 <Je...@roguewave.com> on 2007/10/22 20:44:33 UTC

RE: Problem building stdcxx-4.2.0-rc7 on Solaris

 OK I have now downloaded the rc7 and got much further.  However I still
get an error in the build process:

Platform: Solaris 10 - Sun Studio 11 (5.8 Patch 121017-01)

gmake BUILDDIR=/build/dean/stdcxx-420-rc7/build BUILDTYPE=15d
CONFIG=sunpro.config
 	.......
CC -c -D_RWSTDDEBUG   -mt
-I/build/dean/stdcxx-420-rc7/stdcxx-4.2.0/include -I/b
uild/dean/stdcxx-420-rc7/build/include
-I/build/dean/stdcxx-420-rc7/stdcxx-4.2.0
/tests/include  -library=%none -g  +w -errtags -erroff=hidef
/build/dean/stdcx
x-420-rc7/stdcxx-4.2.0/tests/regress/26.valarray.binary.stdcxx-237.cpp
"/build/dean/stdcxx-420-rc7/stdcxx-4.2.0/tests/regress/26.valarray.binar
y.stdcxx
-237.cpp", line 37: Error, nomatchoverin: Could not find a match for
std::operat
or%<std::_TypeT>(std::gslice_array<int>, std::gslice_array<int>) needed
in main(
).
1 Error(s) detected.
gmake[2]: *** [26.valarray.binary.stdcxx-237.o] Error 1
gmake[2]: Leaving directory `/build/dean/stdcxx-420-rc7/build/tests'
gmake[1]: [tests] Error 2 (ignored)
gmake[1]: Leaving directory `/build/dean/stdcxx-420-rc7/build'



-----Original Message-----
From: Martin Sebor [mailto:sebor@roguewave.com] 
Sent: Monday, October 22, 2007 12:05 PM
To: stdcxx-dev@incubator.apache.org
Subject: Re: Problem building stdcxx-4.2.0-rc6 on Solaris

Jeremy Dean wrote:
> I am trying to build the stdcxx-4.2.0-rc6 on Solaris 10 with Sunpro 11

> compiler.
>  
> I used the following command:
> gmake BUILDDIR=/build/dean/stdcxx-420-rc6/stdcxx-4.2.0 BUILDTYPE=15d 
> CONFIG=sunpro.config

Is TOPDIR (the current working directory) the same as BUILDDIR?
If it is, either leave it out (the build will happen in ./build) or
change it to something else.

Martin

>  
> Then I get the following error:
> gmake[1]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[2]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[3]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[4]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[5]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[6]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[7]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[8]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[9]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[10]: Entering directory
`/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[11]: Entering directory
`/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[12]: Entering directory
`/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[12]: execvp: gmake: Arg list too long
> gmake[12]: *** [w] Error 127
> gmake[12]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[11]: *** [w] Error 2
> gmake[11]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[10]: *** [w] Error 2
> gmake[10]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[9]: *** [w] Error 2
> gmake[9]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[8]: *** [w] Error 2
> gmake[8]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[7]: *** [w] Error 2
> gmake[7]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[6]: *** [w] Error 2
> gmake[6]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[5]: *** [w] Error 2
> gmake[5]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[4]: *** [w] Error 2
> gmake[4]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[3]: *** [w] Error 2
> gmake[3]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[2]: *** [w] Error 2
> gmake[2]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake[1]: *** [libstd] Error 2
> gmake[1]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
> gmake: *** [libstd] Error 2
>  
> Jeremy Dean
> Rogue Wave Software, Inc.
> Technical Support
> Phone: 303-545-3205 -- 1-800-404-4767
> E-mail: support@roguewave.com
> Web: http://www.roguewave.com/support Knowledge Base entries:
> http://www.roguewave.com/kbdocs/search.html
> View issues online at: 
> http://www.roguewave.com/youraccount/login/
>  
> 


Re: Problem building stdcxx-4.2.0-rc7 on Solaris

Posted by Mark Brown <ma...@gmail.com>.
Martin Sebor wrote:
> 
> [snip]
> 
> Here are a few possibilities:
> 
> 1. Clean slate. Everything compiles and links cleanly with no
>    errors or warnings, and runs successfully to completion with
>    zero failed assertions.
> 
> 2. Warnings acceptable, no errors. Same as above except that
>    warnings are allowed. (How many warnings? I.e., what's the
>    threshold?)
> 
> 3. Warnings and some failed assertions acceptable. Just like (2)
>    except that tests are allowed to report some failed assertions.
>    (Again, how many failed assertions are acceptable?)
> 
> 4. Status quo. I.e., some warnings are acceptable, compilation
>    or linker errors (except in the library) are acceptable if
>    they are attributable to platform bugs or limitations, some
>    (small number) of runtime errors, including abnormal exits,
>    are expected.
> 
> Ideally, we'd shoot for (1). Frankly, I don't see it happening
> without a monumental effort. I'm not even convinced that (2) is
> doable. Maybe (3), with a lot of work. I agree that (4) is less
> than optimal.
> 
> Thoughts?

I think #2 should be the goal on common platforms although I can
appreciate that enforcing the rule in rare environments could be
hard. I suppose it's up to us to decide what the "common" target
platforms are. In my opinion, Linux should definitely be one.
Windows another. Solaris is also pretty widely available. Others?

-- Mark


Re: Problem building stdcxx-4.2.0-rc7 on Solaris

Posted by Martin Sebor <se...@roguewave.com>.
Jeremy Dean wrote:
>  OK I have now downloaded the rc7 and got much further.  However I still
> get an error in the build process:

Right. This is the same error that Brad wrote about. As I said
in my response to him, it's most likely a compiler bug (judging
by the fact that the test compiles with most other compilers).
We could probably work around this bug in a day or two (or simply
disable the test for Sun C++), but there are many other errors
on other platforms. Where do we draw the line? I suppose the
question we should ask ourselves is: what is the minimum set
of criteria for a stdcxx codebase to meet before it can be
released?

Here are a few possibilities:

1. Clean slate. Everything compiles and links cleanly with no
    errors or warnings, and runs successfully to completion with
    zero failed assertions.

2. Warnings acceptable, no errors. Same as above except that
    warnings are allowed. (How many warnings? I.e., what's the
    threshold?)

3. Warnings and some failed assertions acceptable. Just like (2)
    except that tests are allowed to report some failed assertions.
    (Again, how many failed assertions are acceptable?)

4. Status quo. I.e., some warnings are acceptable, compilation
    or linker errors (except in the library) are acceptable if
    they are attributable to platform bugs or limitations, some
    (small number) of runtime errors, including abnormal exits,
    are expected.

Ideally, we'd shoot for (1). Frankly, I don't see it happening
without a monumental effort. I'm not even convinced that (2) is
doable. Maybe (3), with a lot of work. I agree that (4) is less
than optimal.

Thoughts?

Martin

> 
> Platform: Solaris 10 - Sun Studio 11 (5.8 Patch 121017-01)
> 
> gmake BUILDDIR=/build/dean/stdcxx-420-rc7/build BUILDTYPE=15d
> CONFIG=sunpro.config
>  	.......
> CC -c -D_RWSTDDEBUG   -mt
> -I/build/dean/stdcxx-420-rc7/stdcxx-4.2.0/include -I/b
> uild/dean/stdcxx-420-rc7/build/include
> -I/build/dean/stdcxx-420-rc7/stdcxx-4.2.0
> /tests/include  -library=%none -g  +w -errtags -erroff=hidef
> /build/dean/stdcx
> x-420-rc7/stdcxx-4.2.0/tests/regress/26.valarray.binary.stdcxx-237.cpp
> "/build/dean/stdcxx-420-rc7/stdcxx-4.2.0/tests/regress/26.valarray.binar
> y.stdcxx
> -237.cpp", line 37: Error, nomatchoverin: Could not find a match for
> std::operat
> or%<std::_TypeT>(std::gslice_array<int>, std::gslice_array<int>) needed
> in main(
> ).
> 1 Error(s) detected.
> gmake[2]: *** [26.valarray.binary.stdcxx-237.o] Error 1
> gmake[2]: Leaving directory `/build/dean/stdcxx-420-rc7/build/tests'
> gmake[1]: [tests] Error 2 (ignored)
> gmake[1]: Leaving directory `/build/dean/stdcxx-420-rc7/build'
> 
> 
> 
> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> Sent: Monday, October 22, 2007 12:05 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: Problem building stdcxx-4.2.0-rc6 on Solaris
> 
> Jeremy Dean wrote:
>> I am trying to build the stdcxx-4.2.0-rc6 on Solaris 10 with Sunpro 11
> 
>> compiler.
>>  
>> I used the following command:
>> gmake BUILDDIR=/build/dean/stdcxx-420-rc6/stdcxx-4.2.0 BUILDTYPE=15d 
>> CONFIG=sunpro.config
> 
> Is TOPDIR (the current working directory) the same as BUILDDIR?
> If it is, either leave it out (the build will happen in ./build) or
> change it to something else.
> 
> Martin
> 
>>  
>> Then I get the following error:
>> gmake[1]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[2]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[3]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[4]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[5]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[6]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[7]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[8]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[9]: Entering directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[10]: Entering directory
> `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[11]: Entering directory
> `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[12]: Entering directory
> `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[12]: execvp: gmake: Arg list too long
>> gmake[12]: *** [w] Error 127
>> gmake[12]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[11]: *** [w] Error 2
>> gmake[11]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[10]: *** [w] Error 2
>> gmake[10]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[9]: *** [w] Error 2
>> gmake[9]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[8]: *** [w] Error 2
>> gmake[8]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[7]: *** [w] Error 2
>> gmake[7]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[6]: *** [w] Error 2
>> gmake[6]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[5]: *** [w] Error 2
>> gmake[5]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[4]: *** [w] Error 2
>> gmake[4]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[3]: *** [w] Error 2
>> gmake[3]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[2]: *** [w] Error 2
>> gmake[2]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake[1]: *** [libstd] Error 2
>> gmake[1]: Leaving directory `/build/dean/stdcxx-420-rc6/stdcxx-4.2.0'
>> gmake: *** [libstd] Error 2
>>  
>> Jeremy Dean
>> Rogue Wave Software, Inc.
>> Technical Support
>> Phone: 303-545-3205 -- 1-800-404-4767
>> E-mail: support@roguewave.com
>> Web: http://www.roguewave.com/support Knowledge Base entries:
>> http://www.roguewave.com/kbdocs/search.html
>> View issues online at: 
>> http://www.roguewave.com/youraccount/login/
>>  
>>
>