Hi,

On Sunday 23 March 2008, Syd&Sandy wrote:
> On Sat, 22 Mar 2008 17:02:58 -0700
>
> Syd&Sandy <[EMAIL PROTECTED]> wrote:
> > Thanks guys ...
> > It appears that the strutils.cxx hasn't been modified in a while , but
> > there was an update to gcc, so I'm wiping out and reinstalling Arch from
> > scratch (wanted to change my partitions anyway ), Cheers
> >
>
> Or maybe its time to experiment with a new distro ... any suggestions ?
The GCC update you report was probably to a 4.3 version. In this version the 
headers which get installed are leaner than in previous releases. This means 
programmers have to explicitly include a header which is specified to contain 
a particular declaration/definition etc... under more circumstances than 
previously. This is not a GCC bug, rather the latitude provided by the C++ 
specification is exploited to speed up compilation of programs (lesser 
implicitly included features means lesser work for the compiler).

So as far as I can see, Csaba Halász is correct in suggesting that include 
directives are missing in the Simgear/Flightgear sources.

>From your older Message:
> did a system update this morning , a cvs update on FG and SG , and plib ,
> and get these errors trying to compile simgear .... 
The following is a list of source files and the headers which have to be 
included additionally in that source file because the file uses functions 
like strlen, atoi, memcmp... declared in one of the headers:

Simgear:
simgear/io/sg_file.cxx - <string.h>
simgear/io/sg_serial.cxx - <stdlib.h> <string.h>
simgear/misc/strutils.cxx - <string.h>
simgear/misc/tabbed_values.cxx - <stdlib.h>
simgear/screen/RenderTexture.cpp - <string.h>
simgear/screen/shader.cpp - <stdlib.h> <string.h>
simgear/screen/TestRenderTexture.cpp - <stdlib.h>

Flightgear:
src/Airports/dynamicloader.cxx - <stdlib.h>
src/Airports/runwayprefloader.cxx - <stdlib.h> <string.h>
src/Airports/runways.cxx - <stdlib.h>
src/FDM/JSBSim/input_output/FGfdmSocket.cpp - <string.h>
src/FDM/YASim/yasim-test.cpp - <stdlib.h> <string.h>
src/Main/util.cxx - <stdlib.h>

There is also one change to the Simgear CVS sources necessary which is not 
related to missing include directives. Namely, in file 
simgear/structure/SGExpression.cpp at line 51 the keyword "static" has to be 
removed. Here, a function template is explicitly specialized. Specifying an 
explicit specialization as "static" is not allowed by C++. For reference, 
here is a short explanation of the issue:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#69

I hope that helps.

With best Regards,
Volker Lukas



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to