Describe the bug
Symbols not recognized when building with gcc 10: see issue in spack for full log info
To Reproduce
Build adios2 using gcc10 via spack, but the error is independent of spack is related to undefined symbols in dataman reader
Expected behavior
adios2 should be built as expected
Desktop (please complete the following information):
Additional context
Logs indicate that issue arises in the dataman engine:
>> 898 Undefined symbols for architecture x86_64:
899 "__ZN6adios26format17DataManSerializer7GetDataINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEiPT_RKS8_RKSt6vectorImSaImEESH_mSH_SH_", ref
erenced from:
900 __ZN6adios24core6engine13DataManReader17GetDeferredCommonINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRNS0_8VariableIT_EEPSB_ in D
ataManReader.cpp.o
901 "__ZN6adios26format17DataManSerializer7GetDataISt7complexIdEEEiPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorImSaImEESJ_mSJ
_SJ_", referenced from:
902 __ZN6adios24core6engine13DataManReader17GetDeferredCommonISt7complexIdEEEvRNS0_8VariableIT_EEPS7_ in DataManReader.cpp.o
903 "__ZN6adios26format17DataManSerializer7GetDataISt7complexIfEEEiPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorImSaImEESJ_mSJ
_SJ_", referenced from:
904 __ZN6adios24core6engine13DataManReader17GetDeferredCommonISt7complexIfEEEvRNS0_8VariableIT_EEPS7_ in DataManReader.cpp.o
...
922 __ZN6adios24core6engine13DataManReader17GetDeferredCommonItEEvRNS0_8VariableIT_EEPS5_ in DataManReader.cpp.o
923 "__ZN6adios26format17DataManSerializer7GetDataIxEEiPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorImSaImEESH_mSH_SH_", refer
enced from:
924 __ZN6adios24core6engine13DataManReader17GetDeferredCommonIxEEvRNS0_8VariableIT_EEPS5_ in DataManReader.cpp.o
925 "__ZN6adios26format17DataManSerializer7GetDataIyEEiPT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorImSaImEESH_mSH_SH_", refer
enced from:
926 __ZN6adios24core6engine13DataManReader17GetDeferredCommonIyEEvRNS0_8VariableIT_EEPS5_ in DataManReader.cpp.o
927 ld: symbol(s) not found for architecture x86_64
>> 928 collect2: error: ld returned 1 exit status
>> 929 make[2]: *** [lib/libadios2_core.2.6.0.dylib] Error 1
>> 930 make[1]: *** [source/adios2/CMakeFiles/adios2_core.dir/all] Error 2
>> 931 make: *** [all] Error 2
Following up
issue in spack for full log info reported by the ECP WarpX folks @ax3l @LDAmorim
Running spack install adios2%gcc~dataman works, thank you very much for the workaround!
@pnorbert this is an issue with dataman and gcc 10 that propagates to spack (and might to other packaging systems). It is not an issue on the spack configuration.