Akumuli
Akumuli copied to clipboard
Missing headers in eval.cpp and storage2.cpp
Trying to build Akumuli 0.8.80 on 10.6.8 Rosetta (gcc12, cmake-devel @20220728-3.24.0-rc5), after setting -DDISABLE_EMBEDDED_ASM to bypass a failure on Intel-specific instructions, the build failed on the following:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/libakumuli/query_processing/eval.cpp:42:33: error: field 'indexes_' has incomplete type 'std::array<unsigned int, 58>'
42 | std::array<u32, MAX_VALUES> indexes_;
| ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/libakumuli/query_processing/eval.cpp:43:36: error: field 'values_' has incomplete type 'std::array<double, 58>'
43 | std::array<double, MAX_VALUES> values_;
Okay, eval.cpp misses a needed header. See: https://stackoverflow.com/questions/18145258/stdarray-incomplete-type-error-with-an-array-of-stdtuple
Adding #include <array> fixed the error.
Then storage2.cpp also misses a header, #include <stack>.