ornladios / ADIOS2

Next generation of ADIOS developed in the Exascale Computing Program
https://adios2.readthedocs.io/en/latest/index.html
Apache License 2.0
268 stars 125 forks source link

Build error on 32-bit architecture #2704

Open eschnett opened 3 years ago

eschnett commented 3 years ago

I tried to build ADIOS on an i686-linux system. This is a 32-bit architecture. The build aborted with errors of the kind

[22:03:24] /workspace/srcdir/ADIOS2-2.7.1/source/adios2/engine/ssc/SscReader.cpp:420:71: error: narrowing conversion of ‘18446744073709551613ull’ from ‘long long unsigned int’ to ‘unsigned int’ inside { } [-Wnarrowing]
[22:03:24]                  m_IO.DefineVariable<T>(b.name, {adios2::LocalValueDim});       \

I didn't see such errors when building on a 64-bit architecture. This might be caused by ptrdiff_t and similar types being only 32 bits wide.

This is not an important system for me, but I thought I'd report the problem anyway.

eisenhauer commented 3 years ago

I think the answer is that 32-bit architectures are unsupported by choice, but it looks like the ADIOS docs say that it just "hasn't been tested". @pnorbert, can I suggest that if we don't intend to support 32-bit, we change the docs to reflect that? (Here's the only external note I found about 32-bit: https://adios2.readthedocs.io/en/latest/setting_up/setting_up.html)

williamfgc commented 3 years ago

Related discussion in #1823