Serial and MPI Builds ===================== There are separate C, C++ and Fortran development packages, as well as Python, for building applications that use ADIOS2. Separate builds of the Adios2 library are made, as a serial process or as an MPI client. Hence to build applications that use Adios3, you will need to install libadios2-serial-c-dev libadios2-serial-c++11-dev libadios2-serial-fortran-dev or python3-adios2-serial or libadios2-mpi-c-dev libadios2-mpi-c++11-dev libadios2-mpi-fortran-dev or python3-adios2-mpi Because ADIOSConfig.h has different content in the serial and MPI builds, it has been moved from /usr/include/adios2/common/ to /usr/include/adios2/build/{mpi,serial}/adios2/common/ in order to allow simultaneous installation of both serial and mpi development files. You will need to choose either the serial build or the MPI build when building applications. This can be easily done in cmake using find_package with PATH_SUFFIXES, find_package(adios2 PATH_SUFFIXES mpi) or find_package(adios2 PATH_SUFFIXES serial) Alternatively you could set CMAKE_PREFIX_PATH to point at the specific build flavor you need, /usr/lib/${DEB_HOST_MULTIARCH}/cmake/adios2/mpi or /usr/lib/${DEB_HOST_MULTIARCH}/cmake/adios2/serial Adios2 Plugins ============== The libEncryptionOperator.so provided with a standard Adios2 build is provided by libadios2-serial-core-2 or libadios2-mpi-core-2. To avoid overload the standard library directory, the plugin has been placed in a separate plugin dir, /usr/lib/${DEB_HOST_MULTIARCH}/adios2/serial/plugins or /usr/lib/${DEB_HOST_MULTIARCH}/adios2/mpi/plugins You can access the plugin by pointing environment variable ADIOS2_PLUGIN_PATH at the required path. Adios2 Python Module ==================== The python2-adios2 package is a dependency package that depends on python3-adios2-serial (default) or python3-adios2-mpi. If python3 is run as a serial process, then the module assumes the serial build is wanted. If python3 is run as an MPI process (launched by mpirun or mpiexec) then the module assumes the mpi build is wanted, even if running on 1 process. If you need to access the mpi build even from a normal serial process, this can be achieved by setting the environment variable ADIOS2_ALWAYS_USE_MPI to 1. Regardless, the serial python module is always loaded if the mpi python module is not installed.