Skip to content

Add cxxstd variant to geos spack package#339

Closed
victorapm wants to merge 2 commits intomasterfrom
add-cxxstd
Closed

Add cxxstd variant to geos spack package#339
victorapm wants to merge 2 commits intomasterfrom
add-cxxstd

Conversation

@victorapm
Copy link
Contributor

Centralize C++ standard specification in the geos spack package.

Fixes build issues with fmt:

[  2%] Building CXX object coreComponents/common/CMakeFiles/common.dir/format/table/TableData.cpp.o
cd geos-path/build-z5tux-linux-ubuntu24.04-x86_64_v4-gcc@14.2.0-relwithdebinfo/coreComponents/common && /usr/bin/g++ -DFMT_HEADER_ONLY=1 -DH5_BUILT_AS_DYNAMIC_LIB -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200809L -Dcommon_EXPORTS -Igeos-path/build-z5tux-linux-ubuntu24.04-x86_64_v4-gcc@14.2.0-relwithdebinfo/include -Igeos-path/src/coreComponents -isystem mpich-path/install/release/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/chai-2025.09.1-gk6l5bpoiovwcf2sq7l6mi4luwgfjfxm/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/camp-2025.09.2-s3ucrzd2huxjlh2qggjkh4m77h6agz5q/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/umpire-2025.09.0-tpfn435w3jjan4ehhtz3ptybbtifv4yk/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/umpire-2025.09.0-tpfn435w3jjan4ehhtz3ptybbtifv4yk/include/umpire -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/raja-2025.09.1-kmrbgrn2kxgsa3dln4fk2ckq62taa3gh/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/caliper-2.14.0-xpa4sm663v3xubub4dgnmucgjy5fv2d4/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/adiak-0.4.0-slopdor4vxdl35svpnosrx47mgnoxg3f/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/conduit-0.9.5-3gso4lj22ejm22dy7tu5zt2n6vimgtum/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/conduit-0.9.5-3gso4lj22ejm22dy7tu5zt2n6vimgtum/include/conduit -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/hdf5-1.14.6-wyjb22bc4ylwcp4qzhxstvosihka6dkw/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/zlib-ng-2.3.2-fq4lg6maxo3dksbpx4qnktg2gbqlqj6d/include -isystem geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/pugixml-1.13-mue7aq5ibrdvpzwz3pdmcfjxiezdmdyh/include -Wall -Wextra       -Werror  -fopenmp  -Wpedantic -pedantic-errors -Wshadow -Wfloat-equal -Wcast-align -Wcast-qual  -O2 -g -DNDEBUG -std=c++17 -fPIC -fopenmp -MD -MT coreComponents/common/CMakeFiles/common.dir/format/table/TableData.cpp.o -MF CMakeFiles/common.dir/format/table/TableData.cpp.o.d -o CMakeFiles/common.dir/format/table/TableData.cpp.o -c geos-path/src/coreComponents/common/format/table/TableData.cpp
In file included from /usr/include/c++/14/list:62,
                 from geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/umpire-2025.09.0-tpfn435w3jjan4ehhtz3ptybbtifv4yk/include/umpire/ResourceManager.hpp:10,
                 from geos-path/src/coreComponents/common/BufferAllocator.hpp:26,
                 from geos-path/src/coreComponents/common/DataTypes.hpp:29,
                 from geos-path/src/coreComponents/common/Units.hpp:23,
                 from geos-path/src/coreComponents/common/format/table/TableData.hpp:23,
                 from geos-path/src/coreComponents/common/format/table/TableData.cpp:20:
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:521:30,
    inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:548:42,
    inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:555:31,
    inlined from ‘_OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:651:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/14/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/14/bits/stl_uninitialized.h:185:15,
    inlined from ‘void fmt::v10::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include/fmt/format.h:952:28,
    inlined from ‘void fmt::v10::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include/fmt/core.h:927:39,
    inlined from ‘void fmt::v10::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include/fmt/core.h:926:24,
    inlined from ‘void fmt::v10::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include/fmt/core.h:918:16,
    inlined from ‘void fmt::v10::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include/fmt/format.h:1023:63,
    inlined from ‘void fmt::v10::detail::bigint::assign(UInt) [with UInt = long unsigned int; typename std::enable_if<(std::is_same<UInt, long unsigned int>::value || std::is_same<UInt, __int128 unsigned>::value), int>::type <anonymous> = 0]’ at geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include/fmt/format.h:3096:19,
    inlined from ‘void fmt::v10::detail::bigint::operator=(Int) [with Int = int]’ at geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include/fmt/format.h:3117:11,
    inlined from ‘void fmt::v10::detail::format_dragon(basic_fp<__int128 unsigned>, unsigned int, int, buffer<char>&, int&)’ at geos-tpls-path/ubuntu24.04-gcc_tpls/spack/opt/spack/linux-x86_64_v4/fmt-10.0.0-qyyuwcobqfdlgsootdanxk2vyje6iiyu/include/fmt/format.h:3291:11:
/usr/include/c++/14/bits/stl_algobase.h:452:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  452 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:521:30,
    inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:548:42,
    inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:555:31,
    inlined from ‘_OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:651:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/14/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/14/bits/stl_uninitialized.h:185:15,

@victorapm
Copy link
Contributor Author

Replaced by #340

@victorapm victorapm closed this Feb 25, 2026
@victorapm victorapm deleted the add-cxxstd branch February 25, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant