Closed DJDavies2 closed 1 year ago
Hi @DJDavies2 , ECMWF has started releasing its software with C++17, though not many packages perhaps take advantage of this yet. For Atlas at least, C++17 is now a requirement and perhaps the intel 18 compiler (which is now 5 years old) is not fully supporting it yet. I know intel 21 compiler does support it.
True, we can work around these few problems reported, and implement it without C++17, but I am already aware of other developments that use C++17 features that are to make their way as pull requests as well.
We aren't using this compiler any more, so from my point of view this isn't an issue now. Closing on that basis.
I am getting compile failures with an older version of the Intel compiler (18.0.5.274):
compilation aborted for /home/d03/frwd/cylc-run/UpdateAtlas/share/mo-bundle/atlas/src/atlas/interpolation/method/structured/QuasiCubic2D.cc (code 2) gmake[2]: [atlas/src/atlas/CMakeFiles/atlas.dir/interpolation/method/structured/QuasiCubic2D.cc.o] Error 2 compilation aborted for /home/d03/frwd/cylc-run/UpdateAtlas/share/mo-bundle/atlas/src/atlas/interpolation/method/structured/Linear2D.cc (code 2) gmake[2]: [atlas/src/atlas/CMakeFiles/atlas.dir/interpolation/method/structured/Linear2D.cc.o] Error 2 /home/d00/darth/opt/bb-stack/cray_intel-v24/include/boost/container/vector.hpp(1125): internal error: bad pointer boost::container::destroy_alloc_n ^
compilation aborted for /home/d03/frwd/cylc-run/UpdateAtlas/share/mo-bundle/atlas/src/atlas/mesh/actions/BuildConvexHull3D.cc (code 4) gmake[2]: *** [atlas/src/atlas/CMakeFiles/atlas.dir/mesh/actions/BuildConvexHull3D.cc.o] Error 4
which can be fixed by adjust some atlas cmake options, and
/home/d03/frwd/cylc-run/UpdateAtlas/share/mo-bundle/atlas/src/atlas/interpolation/method/structured/StructuredInterpolation2D.tcc(521): error: identifier "west" is undefined auto [west, east] = compute_src_west_east(source()); ^ detected during instantiation of "void atlas::interpolation::method::StructuredInterpolation2D::do_execute(const atlas::FieldSet &, atlas::FieldSet &, atlas::interpolation::Method::Metadata &) const [with Kernel=atlas::interpolation::method::QuasiCubicHorizontalKernel]" at line 453
which as far as I can tell requires a code change to fix.