Adios2: adios2 not building correctly with gcc 10 via spack

Created on 10 Sep 2020  路  2Comments  路  Source: ornladios/ADIOS2

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):

  • Build: compiler version gcc 10

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

build bug high

All 2 comments

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

franzpoeschel picture franzpoeschel  路  3Comments

ax3l picture ax3l  路  6Comments

ax3l picture ax3l  路  3Comments

ax3l picture ax3l  路  4Comments

jychoi-hpc picture jychoi-hpc  路  7Comments