[Paraview] Compiling ParaView 4.3.1 with OpenMPI
Deij-van Rijswijk, Menno
M.Deij at marin.nl
Tue Aug 18 07:04:58 EDT 2015
Hi Andrew,
I checked my CMakeCache to see the variables of MPI and I think you need to change the MPI_LIBRARY:FILEPATH to
MPI_LIBRARY:FILEPATH=/Programs/openmpi-1.8.4/build/lib/libmpi_cxx.so
That is, directly use the full path to the mpi shared library, instead of using the link flag.
Also, change the other LIBRARIES variables. In my case there are multiple libraries:
MPI_C_LIBRARIES:STRING=<path>libmpi.so
MPI_CXX_LIBRARIES:STRING=<path>libmpi_cxx.so;<path>libmpi.so
MPI_Fortran_LIBRARIES:STRING=<path>libmpi_usempif08.so;<path>libmpi_usempi_ignore_tkr.so;<path>libmpi_mpifh.so;<path>libmpi.so
Where <path> should expand to your install path, which is /Programs/openmpi-1.8.4/build/lib/
Good luck and best wishes,
Menno Deij - van Rijswijk
From: ParaView [mailto:paraview-bounces at paraview.org] On Behalf Of Andrew
Sent: dinsdag 18 augustus 2015 12:51
To: paraview at paraview.org
Subject: [Paraview] Compiling ParaView 4.3.1 with OpenMPI
Hello.
I need to compile ParaView 4.3.1 with MPI. I tried different settings but I can't get rid of this error:
/usr/bin/ld: warning: libmpi_cxx.so.1, needed by ../lib/libvtkPVServerManagerApplication-pv4.3.so.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libmpi.so.1, needed by ../lib/libvtkPVServerManagerApplication-pv4.3.so.1, not found (try using -rpath or -rpath-link)
I use OpenMPI 1.8.4 that was successfuly compiled and installed in /Programs/openmpi-1.8.4/build (not into system directories, I need to have programs installed into custom directories). So I set the following options for MPI:
MPIEXEC:FILEPATH=/Programs/openmpi-1.8.4/build/bin/mpiexec
MPIEXEC_MAX_NUMPROCS:STRING=8
MPIEXEC_NUMPROC_FLAG:STRING=-np
MPIEXEC_POSTFLAGS:STRING=
MPIEXEC_PREFLAGS:STRING=
MPI_CXX_COMPILER:FILEPATH=/Programs/openmpi-1.8.4/build/bin/mpicxx
MPI_CXX_COMPILE_FLAGS:STRING=-Wl,-rpath -Wl,/Programs/openmpi-1.8.4/build/lib/
MPI_CXX_INCLUDE_PATH:STRING=/Programs/openmpi-1.8.4/build/include/
MPI_CXX_LIBRARIES:STRING=-lmpi_cxx -L/Programs/openmpi-1.8.4/build/lib/
MPI_CXX_LINK_FLAGS:STRING=
MPI_C_COMPILER:FILEPATH=/Programs/openmpi-1.8.4/build/bin/mpicc
MPI_C_COMPILE_FLAGS:STRING=-Wl,-rpath -Wl,/Programs/openmpi-1.8.4/build/lib/
MPI_C_INCLUDE_PATH:STRING=/Programs/openmpi-1.8.4/build/include/
MPI_C_LIBRARIES:STRING=-lmpi -L/Programs/openmpi-1.8.4/build/lib/
MPI_C_LINK_FLAGS:STRING=
MPI_EXTRA_LIBRARY:STRING=MPI_EXTRA_LIBRARY-NOTFOUND
MPI_Fortran_COMPILER:FILEPATH=/Programs/openmpi-1.8.4/build/bin/mpif90
MPI_Fortran_COMPILE_FLAGS:STRING=-Wl,-rpath -Wl,/Programs/openmpi-1.8.4/build/lib/
MPI_Fortran_INCLUDE_PATH:STRING=/Programs/openmpi-1.8.4/build/include/
MPI_Fortran_LIBRARIES:STRING=-lmpi_mpifh -L/Programs/openmpi-1.8.4/build/lib/
MPI_Fortran_LINK_FLAGS:STRING=
MPI_LIBRARY:FILEPATH=-lmpi_cxx -L/Programs/openmpi-1.8.4/build/lib
It's a copy from the Makefile without comments. Actually I used ccmake to configure and generate Makefile.
Compilation is normal until 98%. Then a number of errors appear because the linker cannot find MPI libraries (libmpi.so.1 and libmpi_cxx.so.1). I verified that these files are in "/Programs/openmpi-1.8.4/build/lib/" (searched with file manager to avoid typos, files are there). The interesting moment is that libmpi.so and libmpi_cxx.so are found (I don't point to *.so files, point only to lib directory). But then linker don't want to follow symlinks (libmpi.so => libmpi.so.1), if I get it right.
I attached CMakeCache.txt file. If it's needed, I will post other details (Makefile + CMakeCache are too big for 500 KB limit of mailing list).
Please, help me to compile ParaView with OpenMPI.
Thanks.
dr. ir. Menno A. Deij-van Rijswijk
Researcher / Software Engineer
Maritime Simulation & Software Group
E mailto:M.Deij at marin.nl
T +31 317 49 35 06
MARIN
2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands
T +31 317 49 39 11, F +31 317 49 32 45, I www.marin.nl
More information about the ParaView
mailing list