- 
                Notifications
    
You must be signed in to change notification settings  - Fork 929
 
Description
Hi Team,
We have some binary applications compiled using OpenMPI 4.1.8 on rocky linux 9.5. When I load the OpenMPI 5.0.7 environment on same server and run ldd on one of these binaries, I see the following output:
linux-vdso.so.1 (0x00007fffa29d8000)
libmpi_cxx.so.40 => /home/puneethpc_poc1/openmpi-4.1.8/install/lib/libmpi_cxx.so.40 (0x00007fe73f511000)
libmpi.so.40 => /home/puneethpc_poc1/openmpi-5.0.7/install/lib/libmpi.so.40 (0x00007fe73f000000)
libopen-pal.so.80 => /home/puneethpc_poc1/openmpi-5.0.7/install/lib/libopen-pal.so.80 (0x00007fe73eb0e000)
the path of openmpi4's libmpi_cxx is not present in LD_LIBRARY_PATH so probably the openmpi4's libmpi_cxx.so.40 is being referenced due to rpath #13252 ? .
I understand that libmpi_cxx.so.40 is not part of OpenMPI 5.0.7 and enabling C++ MPI bindings using --enable-mpi-cxx gives the following warning and error during configuration:
configure: WARNING: The MPI C++ bindings were deprecated in MPI-2.2 (2009), removed in MPI-3.0 (2012), and dropped from OpenMPI v5.0.0 (2022).
configure: error: Build cannot continue.
Despite this, I attempted to run the binary using mpirun from openmpiv5 and encountered the following runtime error:
./application1.bin: symbol lookup error: /home/puneethpc_poc1/openmpi-4.1.8/install/lib/libmpi_cxx.so.40: undefined symbol: ompi_mpi_errors_throw_exceptions
My question:
Is there a way to run binaries compiled with OpenMPI 4.1.8 using an OpenMPI 5.0.7 environment? Or is it generally not supported to run such MPI applications across these major version changes?
I understand that recompiling from source against OpenMPI 5.0.7 is the recommended path forward if the source is available. Please advise.