[aspect-devel] Compilation errors with old compilers since rev.2414

Rene Gassmoeller rengas at gfz-potsdam.de
Fri May 2 04:32:49 PDT 2014


Hi all,
I today updated Aspect on two systems with older compilers and noticed
that since rev.2414 gcc versions 4.4.4 and 4.1.2 (antique I know) throw
the following errors during compilation:

/home/mod/rengas/Software/aspect-dev/source/simulator/nullspace.cc: In
member function ‘void
aspect::Simulator<dim>::remove_net_angular_momentum(aspect::LinearAlgebra::BlockVector&,
aspect::LinearAlgebra::BlockVector&) [with int dim = 2]’:
/home/mod/rengas/Software/aspect-dev/source/simulator/nullspace.cc:155:
error: using ‘typename’ outside of template
/home/mod/rengas/Software/aspect-dev/source/simulator/nullspace.cc:172:
error: using ‘typename’ outside of template
/home/mod/rengas/Software/aspect-dev/source/simulator/nullspace.cc:173:
error: using ‘typename’ outside of template
At global scope:
cc1plus: warning: unrecognized command line option
"-Wno-unused-local-typedefs"
make[2]: *** [CMakeFiles/aspect.dir/source/simulator/nullspace.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/aspect.dir/all] Error 2
make: *** [all] Error 2

A quick Google Search told me that this seems to be a new feature in
C++11 that is not understood by older compilers. Is there a way to
reformulate this code for older compilers (as they are used on some
'stable' cluster systems)? If yes, then maybe someone who is more
familiar with the details of C++03 and C++11 could change this for the
convenience of some users ;-)? If no, then we should mention the
dependency on newer compiler version or compiler compatibility
somewhere, to let users know about it. Unfortunately it is know in the
release version (my fault, only checked aspect-1.0 on my laptop and
another cluster, gcc 4.6.3 and 4.8.1 are working well, by the way).

Any thoughts or suggestions?

Best,
Rene


More information about the Aspect-devel mailing list