#2901: ExternalLibraries-ADIOS2: detect.sh adds nonexistent MPI libraries if ADIOS2_ENABLE_SST == yes when using external ADIOS2
| Reporter: | Miren Radia |
| Status: | submitted |
| Milestone: | |
| Version: | development version |
| Type: | bug |
| Priority: | minor |
| Component: | EinsteinToolkit thorn |
I opened an issue in the GitHub repository but am opening this ticket here as suggested by Roland Haas. The GitHub issue description is below
In the case `ADIOS2_ENABLE_SST == yes`, after this line
```bash
ADIOS2_REQ_LIBRARIES="adios2_cxx11 adios2_c adios2_core adios2_evpath adios2_atl adios2_enet adios2_ffs adios2_dill"
```
(maybe with a fortran one too depending on that config option). Then later on, all of these libraries are appended by `_mpi` so the full library list looks something like
```
ADIOS2_LIBS="adios2_cxx11_mpi adios2_c_mpi adios2_core_mpi adios2_evpath_mpi adios2_atl_mpi adios2_enet_mpi adios2_ffs_mpi adios2_dill_mpi adios2_cxx11 adios2_c adios2_core adios2_evpath adios2_atl adios2_enet adios2_ffs adios2_dill"
```
Unfortunately, looking at my Spack build of ADIOS2, I only have the following in the `lib64` directory (actually it's the same as the one built by Cactus using the `build.sh` script):
```
cmake libadios2_c.a libadios2_core.a libadios2_cxx11.a libadios2_dill.a libadios2_evpath.a libadios2_atl.a libadios2_c_mpi.a libadios2_core_mpi.a libadios2_cxx11_mpi.a libadios2_enet.a libadios2_ffs.a
```
I think only `adios2_cxx11 adios2_c adios2_core` (and `adios2_fortran` if enabled) should be appended by `_mpi`.
Note that it seems to be correct in the case ADIOS2 is built rather than using an external library (see