![]() |
mpirun fails
I'm trying to install OpenFOAM 1.7.1 on a RedHat EL 5.5 machine.
After installing the ThirdParty-1.7.1 stuff ending in ======================================== Done ThirdParty Allwmake ======================================== when trying to run e.g. mpirun w/o any argument I get: mpirun: error while loading shared libraries: .../OpenFOAM/ThirdParty-1.7.1/platforms/linux64Gcc/openmpi-1.4.1/lib/libopen-rte.so.0: ELF file OS ABI invalid Any idea what went wrong here? |
Greetings Achim and welcome to the forum!
Check your Linux-machine architecture: Code:
uname -mBest regards, Bruno |
uname -m
Quote:
my uname -m is x86_64. Starting a trivial hello world mpi program ends up with: ipath_wait_for_device: The /dev/ipath device failed to appear after 30.0 seconds: Connection timed out so it seems that the IB support is not built in the openmpi correctly. |
Hi Achim,
Mmm, that's strange... The error message "ELF file OS ABI invalid" indicates that the problem is something like running a 64bit application in a 32bit processor or vice-versa. And the solution I described was related to the most usual occurrence of this problem. The other possibility is if you are trying to build an application in x86_64 to run in a IA64 (Itanium) or something like that. As for IB support, you have two options:
This might also come in handy: Quote:
Bruno |
open mpi
Quote:
now, the openmpi installation seems to be in a non-standard place and I don't have root rights. # Is there a way to specify the location of the open-mpi installation? I have: /usr/mpi/gcc/openmpi-1.4.3 $ ls -l total 28 drwxr-xr-x 2 root root 4096 Aug 10 15:59 bin drwxr-xr-x 2 root root 4096 Aug 10 15:59 etc drwxr-xr-x 4 root root 4096 Aug 10 15:59 include drwxr-xr-x 3 root root 4096 Aug 10 15:59 lib64 drwxr-xr-x 2 root root 4096 Aug 10 15:59 openmpi_gcc-1.4.3 drwxr-xr-x 5 root root 4096 Aug 10 15:59 share drwxr-xr-x 5 root root 4096 Aug 10 15:59 tests How can I tell openfoam to use this installation? Regards Achim |
Quote:
So far I edited etc/settings.sh: ... # Communications library # ~~~~~~~~~~~~~~~~~~~~~~ unset MPI_ARCH_PATH MPI_HOME case "$WM_MPLIB" in OPENMPI) # mpi_version=openmpi-1.4.1 mpi_version=openmpi-1.4.3 # export MPI_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mpi_version export MPI_ARCH_PATH=/usr/mpi/gcc/openmpi-1.4.3 # Tell OpenMPI where to find its install directory ... and etc/bashrc: # WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI | MPI | QSMPI # : ${WM_MPLIB:=OPENMPI}; export WM_MPLIB : ${WM_MPLIB:=SYSTEMOPENMPI}; export WM_MPLIB and - it seems to work ... (I can test currently only on one node, will get more during the weekend.) Thanks a lot Bruno! |
Hi Achim,
You're welcome! But it's interesting... you made a redundant fix ;) By choosing SYSTEMOPENMPI, it automatically tries to detect where Open-MPI is installed. But since you also modified in "settings.sh" the entry OPENMPI, you can now probably use either mode, may it be WM_MPLIB=OPENMPI or SYSTEMOPENMPI :D Good luck with setting up all nodes! Bruno |
| All times are GMT -4. The time now is 18:23. |