STK: STK requires MPI but does not state a required MPI dependency
Created by: bartlettroscoe
Next Action Status:
???
CC: @trilinos/stk, @trilinos/framework
Description:
If you configure and try to build STK under Trilinos without MPI (i..e -DTPL_ENABLE_MPI=OFF
), it fails to build with the build error:
In file included from /home/rabartl/Trilinos.base/Trilinos/packages/stk/stk_util/stk_util/parallel/GenerateParallelUniqueIDs.hpp:38:0,
from /home/rabartl/Trilinos.base/Trilinos/packages/stk/stk_util/stk_util/parallel/GenerateParallelUniqueIDs.cpp:34:
/home/rabartl/Trilinos.base/Trilinos/packages/stk/stk_util/stk_util/parallel/ParallelVectorConcat.hpp:40:19: fatal error: mpi.h: No such file or directory
#include "mpi.h"
^
compilation terminated.
make[2]: *** [packages/stk/stk_util/stk_util/parallel/CMakeFiles/stk_util_parallel.dir/GenerateParallelUniqueIDs.cpp.o] Error 1
The issue is that this STK subpackage does not declare a required dependency on MPI as shown by:
$ cd Trilinos/packages/stk/
$ find . -name Dependencies.cmake -exec grep -nH MPI {} \;
./cmake/Dependencies.cmake:22:SET(LIB_OPTIONAL_DEP_TPLS MPI)
Either STK needs to be fixed to build without MPI or it needs to declare a required dependency on MPI.