Some files in axom have been set to be compiled as cxx files due to nvcc bugs.
https://github.com/search?q=repo%3ALLNL%2Faxom+%22%23+Set+file+back+to+C%2B%2B+due+to+nvcc+compiler+error%22&type=code
We should investigate these and see how they change in C++17 and newer CUDA versions. I'm building against a newer MFEM (which also switched to C++17) and this one in particular caused my axom build to fail:
https://github.com/LLNL/axom/blob/0ce11798bb3de249a2a155617ca6903f17a40a6d/src/axom/inlet/CMakeLists.txt#L68
In file included from /usr/WS2/meemee/lido-2.0/lido_libs_blueos/build_stage/spack-stage-axom-0.11.0.1-2c2v4opbrfh6davjvlusi4ba26ohw3mh/spack-src/src/axom/inlet/LuaReader.cpp:16:
...
/usr/WS2/meemee/lido-2.0/lido_libs_blueos/linux-rhel7-power9le/clang-14.0.5/mfem-4.8.0.1_lido-fjmharcrfmrzyfo7dz6f5qchle5n7lkm/include/mfem/mesh/../fem/dfem/../../general/forall.hpp:489:18: error: use of undeclared identifier 'blockDim'
const int k = blockDim.x*blockIdx.x + threadIdx.x;
^
...
17 errors generated.
make[2]: *** [axom/inlet/CMakeFiles/inlet.dir/build.make:233: axom/inlet/CMakeFiles/inlet.dir/LuaReader.cpp.o] Error 1
Commenting out that line above resolved my issue.
I don't mind doing this, I just figured I'd document my findings first.
Some files in axom have been set to be compiled as cxx files due to nvcc bugs.
https://github.com/search?q=repo%3ALLNL%2Faxom+%22%23+Set+file+back+to+C%2B%2B+due+to+nvcc+compiler+error%22&type=code
We should investigate these and see how they change in C++17 and newer CUDA versions. I'm building against a newer MFEM (which also switched to C++17) and this one in particular caused my axom build to fail:
https://github.com/LLNL/axom/blob/0ce11798bb3de249a2a155617ca6903f17a40a6d/src/axom/inlet/CMakeLists.txt#L68
Commenting out that line above resolved my issue.
I don't mind doing this, I just figured I'd document my findings first.