[CLN-list] CLN compile errors on GCC4.2

Vipin Varma varma at th.physik.uni-bonn.de
Fri May 21 15:10:21 CEST 2010


Hi,

I've been using CLN 1.3.1 successfully with the GCC4.3 compiler. Now I am 
running my code using the GCC4.2 on another machine (in which I dont 
have the option of updating to the newer GCC):

<SNIP>
In file included from /users/varma/cln-1.3.1/include/cln/string.h:7,
                  from /usr/include/c++/4.2/cstring:52,
                  from 
/usr/include/c++/4.2/i486-linux-gnu/bits/c++locale.h:47,
                  from /usr/include/c++/4.2/iosfwd:45,
                  from /usr/include/c++/4.2/ios:43,
                  from /usr/include/c++/4.2/ostream:45,
                  from /usr/include/c++/4.2/iostream:45,
                  from graph.cpp:12:
/usr/include/cln/io.h:22: error: expected initializer before & token
/usr/include/cln/io.h:23: error: expected initializer before & token
/usr/include/cln/io.h:24: error: expected initializer before * token
........
........
........
//and many more errors//
<SNIP>

Lines 22-24 of cln/io.h contain the following:

<SNIP>
typedef std::istream& cl_istream;
typedef std::ostream& cl_ostream;
extern std::ostream* cl_debugout_stream;
#define cl_debugout  (*cl_debugout_stream)
<SNIP>

My guess is that the streams are not recognised due to circular 
referencing (but which are the two, or more, files that are 
responsibile for this, 
I am not sure), which is 
somehow taken care of in the newer GCC.

Any advice on this will be appreciated.

Vipin


More information about the CLN-list mailing list