Hello Eljay, in the speed I have forget to login to the Linux PC, but the result is quite the same: make -f mymakegnu1 HCSmain g++ -g -v HCSmain.cc -o HCSmain Reading specs from /usr/gnu/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/specs Configured with: ./configure --prefix=/usr/gnu Thread model: posix gcc version 3.2.1 /usr/gnu/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/cc1plus -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ HCSmain.cc -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -quiet -dumpbase HCSmain.cc -g -version -o /tmp/ccrKXimu.s GNU CPP version 3.2.1 (cpplib) (i386 Linux/ELF) GNU C++ version 3.2.1 (i686-pc-linux-gnu) compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.3 2.96-110). ignoring nonexistent directory "/usr/gnu/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/gnu/include/c++/3.2.1 /usr/gnu/include/c++/3.2.1/i686-pc-linux-gnu /usr/gnu/include/c++/3.2.1/backward /usr/local/include /usr/gnu/include /usr/gnu/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/include /usr/include End of search list. In file included from basestation.h:6, from basestation.cc:1, from HCSmain.cc:19: radio.h:47: cannot declare member function `static double Radio<T1, T2>::get_radiofrequency()' to have static linkage In file included from mobility_typedefs.h:5, from street_type_table.h:7, from mobility.h:7, from mobilestation.h:11, from mobilestation.cc:1, from HCSmain.cc:20: sudrand.h:31:8: warning: extra tokens at end of #endif directive In file included from matrix.h:5, from mobility_typedefs.h:8, from street_type_table.h:7, from mobility.h:7, from mobilestation.h:11, from mobilestation.cc:1, from HCSmain.cc:20: checkvec.h:33: parse error before `,' token checkvec.h:35: missing ';' before right brace checkvec.h:37: ISO C++ forbids defining types within return type checkvec.h:37: syntax error before `operator' checkvec.h:37: parse error before `)' token checkvec.h:38: ISO C++ forbids declaration of `operator[]' with no type checkvec.h:38: `int operator[](...)' must be a nonstatic member function checkvec.h:38: `int operator[](...)' must take exactly two arguments checkvec.h: In function `int operator[](...)': checkvec.h:40: parse error before `>' token checkvec.h:40: parse error before `)' token checkvec.h:41: `T' undeclared (first use this function) checkvec.h:41: (Each undeclared identifier is reported only once for each function it appears in.) checkvec.h:41: template argument 1 is invalid checkvec.h:41: template argument 2 is invalid checkvec.h: At global scope: checkvec.h:44: syntax error before `operator' ... ... make: *** [HCSmain] Error 1 Yes including .cc files in other .cc files is unusual, but the code is not written by me. However it works fine on Solaris but let not me compile it on Linux. The big question is if is necessary to adapt the code for the new compiler or there is possibilty to port it without such difficulties. Including .cc files in each other, I think, don't let me the possibility to compile it one by one. Regards. Iavor.