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