bootstrap.sh fails to compile with clang/6.0.0 on quartz
While clang/6.0.0 fails, switching to gcc works fine.
Steps to reproduce:
-
ssh quartz -
ml clang/6.0.0 -
git clone [email protected]:LLNL/scr.git && cd scr -
./bootstrap.sh
This results in the following build failure:
[ 77%] Building C object src/CMakeFiles/redset_o.dir/redset_reedsolomon_common.c.o
/usr/workspace/martymcf/src/scr/deps/redset/src/redset_reedsolomon_common.c:13:24: fatal error: kvtree_mpi.h: No such file or directory
#include "kvtree_mpi.h"
^
/usr/workspace/martymcf/src/scr/deps/redset/src/redset_reedsolomon.c:13:24: fatal error: kvtree_mpi.h: No such file or directory
#include "kvtree_mpi.h"
^
compilation terminated.
Looking through the output, it appears that MPI_C is found, but MPI_CXX is not.
-- Found MPI_C: /usr/tce/packages/mvapich2/mvapich2-2.3-clang-6.0.0/lib/libmpi.so (found version "3.1")
-- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS)
-- Could NOT find MPI (missing: MPI_CXX_FOUND) (found version "3.1")
Added context: although MPI_C is found, MPI_CXX is not … which means that MPI is turned off entirely for the build of the kvtree component, which later impacts the redset component.
With the ecp-veloc/redset@409b347eb5697fbed395026e0fb1ac605c4ec971 by @adammoody, this now passes. Is there any more work we want to do here?
We have two separate issues related to this.
The first issue was a request to change things to require MPI to be found during the configure step. We have now merged a fix for that, so I just closed that issue: https://github.com/LLNL/scr/issues/437.
This issue was created to figure out why the clang/6.0.0 build was failing to find MPI in the first place. At the moment we can't reproduce that, but I don't think it would have been fixed with the above PR. I was keeping this open in case it comes back again. We could close it soon if we can't reproduce. Future work items to add test cases to build against more compilers should provide confidence that it's actually gone.