#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](https://github.com/EinsteinToolkit/ExternalLibraries-ADIOS2/issues/8) 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](https://github.com/EinsteinToolkit/ExternalLibraries-ADIOS2/blob/c45b71f7575...)
```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](https://github.com/EinsteinToolkit/ExternalLibraries-ADIOS2/blob/c45b71f7575...), 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 [here](https://github.com/EinsteinToolkit/ExternalLibraries-ADIOS2/blob/c45b71f7575...).
-- Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2901/externallibraries-...