Here is an explanation for this problem which you can forward upstream along with the patch.
In GCC 4.3, the C++ header dependencies have been cleaned up. The advantage of this is that programs will compile faster. The downside is that you actually need to directly #include everything you use (but you really should do this anyway, otherwise your program won't work with any compiler other than GCC). Some background of this can be found at http://gcc.gnu.org/PR28080 For the maintainer: You can reproduce this problem with gcc-snapshot (20070326-1 or higher) from unstable. (Currently not available for i386, but for amd64, powerpc and ia64. I hope to have i386 binaries in the archive in ~3 weeks.) In any case, the patch I sent is tested. I updated the patch because I noticed there's another problem in the test directory. main() takes int and char ** as its argument. GCC 4.3 will produce an error if it's different. There is one problem I left unfixed: test/SmartPtr/main.cpp still fails to compile because -pedantic (which you use) turns a #warning (which is GCC specific) into an error: (sid)17604:[EMAIL PROTECTED]: ..ibloki-0.1.5/test/SmartPtr] g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -I../../include -DNDEBUG -c -o main.o main.cpp main.cpp:50:2: error: #warning is a GCC extension Please tell upstream about these problems. --- include/loki/SafeFormat.h~ 2007-04-05 07:26:23.000000000 +0000 +++ include/loki/SafeFormat.h 2007-04-05 07:26:34.000000000 +0000 @@ -22,6 +22,7 @@ // $Header: /cvsroot/loki-lib/loki/include/loki/SafeFormat.h,v 1.25 2006/06/19 12:39:08 syntheticpp Exp $ #include <cstdio> +#include <climits> #include <string> #include <stdexcept> #include <utility> --- src/SmallObj.cpp~ 2007-04-05 07:26:42.000000000 +0000 +++ src/SmallObj.cpp 2007-04-05 07:26:54.000000000 +0000 @@ -19,6 +19,7 @@ #include <loki/SmallObj.h> #include <cassert> +#include <climits> #include <vector> #include <bitset> --- test/SmartPtr/main.cpp~ 2007-04-05 07:33:42.000000000 +0000 +++ test/SmartPtr/main.cpp 2007-04-05 07:34:42.000000000 +0000 @@ -998,7 +998,7 @@ // ---------------------------------------------------------------------------- -int main( unsigned int , const char * [] ) +int main( unsigned int , char * [] ) { DoRefLinkTests(); -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]