Change standard pre-push and post-push CI build from GCC 4.9.3 to 4.8.4
Created by: bartlettroscoe
Related Issues: #1341 (closed), #1363 (closed), #1390 (closed), #482 (closed)
CC: @trilinos/framework
Description:
This story is to downgrade the standard CI build of Trilinos from GCC 4.9.3 to GCC 4.8.4. The reasons for doing this are numerous:
- There are still platforms where GCC 4.9.3 is not available but GCC 4.8.4 is present that need C++11 builds of Trilinos (see #1363 (closed)). (Therefore, we need to protect the GCC 4.8.4 build of Trilinos and the best way to do that is with the CI build.)
- GCC 4.8.4 is the native GCC compiler on the SNL COE RHEL 7. (Therefore, customers like Xyce should have no problem delivering to customers on standard SNL COE RHEL 7 systems that require broad deployment at SNL., see #1390 (closed).)
- GCC 4.8.4 provides full support for C++11 language features and works with CUDA 7.5 (but not the full C++11 standard library, see #1363 (closed) ). (Therefore, Kokkos and Tpetra developers should not be constrained on what C++11 language features they use any more than they would with GCC 4.9.3.)
- GCC 4.8.4 seems to be a good stand-in for GCC 4.9.3 (i.e. we don’t seem to see many failures on one that are not reported on the other). (Therefore, if the CI build passes with GCC 4.8.4 is will also likely pass with GCC 4.9.3 which is important for Sierra)
- GCC 4.8.4 does not generate warnings for OpenMPI 1.6.5 header files the way that GCC 4.9.3 does (see #1341 (closed)). (Which will help us remove the rest of the warnings being generated by Trilinos so we can add -Werror for this build which will help in upgrading Trilinos to Sierra and other customers which require clean -Werror builds.)
- The SEMS env provides a full GCC 4.8.4 stack on SNL COE RHEL 6 as well. (Therefore, developers can continue to test and push to Trilinos ‘develop’ on both RHEL 6 or RHEL 7 machines.)