#1877: TimerReport change requires C++11, but Cactus does not --------------------+------------------------------------------------------- Reporter: hinder | Owner: Type: defect | Status: new Priority: major | Milestone: Component: Cactus | Version: development version Keywords: | --------------------+------------------------------------------------------- The commit https://bitbucket.org/cactuscode/cactusutils/commits/5c812eb236f4ff033fc1c27... uses C++11 features which are not enabled by Cactus autoconf. Erik warned in the ET call yesterday that this might be a problem. The error you get is
Checking status of thorn TimerReport In file included from /usr/include/c++/4.8/array:35:0, from /home/jenkins/workspace/KrancTutorial/Cactus/arrangements/CactusUtils/TimerReport/src/Output.cc:16: /usr/include/c++/4.8/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support for the
This is when compiling without an optionlist on Ubuntu 14.04.
* If we want to require C++11 for Cactus, then we should configure for it (i.e. add the -std=gnu++11 option when configuring, as is done in several simfactory optionlists). * My feeling is that C++11 compiler support might not be diffuse enough or mature enough to require for Cactus, which prides itself on portability, but I'm not up-to-date on the current C++ landscape. The above error message, on a version of Ubuntu which has been LTS up to a week ago, suggests that the GCC authors were also not sufficiently confident in the implementation. The [[https://gcc.gnu.org/projects/cxx- status.html#cxx11|GCC C++11 page]] doesn't seem to list recent GCC versions, but the latest version listed (4.8) still describes the support as "experimental". * Maybe the C++11 features being used in TimerReport are not critical, and can be easily worked around?