CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Installation

Problems Installing PV-4.1 with MPI on OF 2.3

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree1Likes
  • 1 Post By Monker1980

Reply
 
LinkBack Thread Tools Display Modes
Old   March 13, 2014, 16:15
Default Problems Installing PV-4.1 with MPI on OF 2.3
  #1
Member
 
Ferdinand Pfender
Join Date: May 2013
Location: Berlin, Germany
Posts: 34
Rep Power: 5
FerdiFuchs is on a distinguished road
Hi everyone, i got a problem in compiling ParaView 4.1 with MPI-support.
Up to here, everything works fine (OF, mpi, cmake, qt, CGAL, scotch, etc...) only paraview with enabled mpi crashes on configuring.

makeparaview.log is attached.

The strange part is following:

Code:
.
.
.
-- Found MPI_C: /scratch/fpfender/OpenFOAM/ThirdParty-2.3.x/platforms/linux64Gcc48/openmpi-1.6.5/lib/libmpi.so                      
-- Found MPI_CXX: /scratch/fpfender/OpenFOAM/ThirdParty-2.3.x/platforms/linux64Gcc48/openmpi-1.6.5/lib/libmpi.s                     o
-- Found MPI_Fortran: /scratch/fpfender/OpenFOAM/ThirdParty-2.3.x/platforms/linux64Gcc48/openmpi-1.6.5/lib64/li                     bmpi_f90.so;/scratch/fpfender/OpenFOAM/ThirdParty-2.3.x/platforms/linux64Gcc48/openmpi-1.6.5/lib64/libmpi_f77.s                     o;/scratch/fpfender/OpenFOAM/ThirdParty-2.3.x/platforms/linux64Gcc48/openmpi-1.6.5/lib64/libmpi.so;/usr/lib/x86                     _64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/librt.so;/usr/lib/x86_64-lin                     ux-gnu/libnsl.so;/usr/lib/x86_64-linux-gnu/libutil.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-g                     nu/libdl.so
-- Could NOT find MPI_C (missing:  MPI_C_LIBRARIES)
-- Could NOT find MPI_CXX (missing:  MPI_CXX_LIBRARIES)
.
.
.
maybe someone else here knows the problem!? i cant figure it out..
thanks for reading
Ferdi
Attached Files
File Type: txt makeparaview.log.txt (62.7 KB, 18 views)
FerdiFuchs is offline   Reply With Quote

Old   March 16, 2014, 07:57
Default
  #2
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,551
Blog Entries: 39
Rep Power: 97
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Greetings Ferdi,

It looks like that there is something wrong with your OpenFOAM environment, since the message is indicating that the file:
Code:
/scratch/fpfender/OpenFOAM/ThirdParty-2.3.x/platforms/linux64Gcc48/openmpi-1.6.5/lib/libmpi.so
does not exist.

My deduction is that your OpenFOAM installation was built with the system's Open-MPI and not with the version provided with OpenFOAM. Either a build error of Open-MPI 1.6.5 that comes with OpenFOAM; or you built OpenFOAM with the system compiler and then on another terminal you did not use the same environment settings, leading the makeParaView4 script to believe that you were using OpenFOAM's own Open-MPI.

To help you solve this, I need to know:
  1. Which Linux Distribution are you using?
  2. Which installation instructions did you follow?
Best regards,
Bruno

edit: If at a later time you get the following error:
Quote:
Originally Posted by dkxls View Post
Code:
[  870s] CMakeFiles/mpi4py.MPI.dir/src/MPI.c.o: In function `OPENMPI_dlopen_libmpi':
[  870s] MPI.c:(.text+0x6eb1): undefined reference to `dlopen'
Then follow the steps in this post: Building Paraview 4.1.0 with MPI and Python support post #4
__________________

Last edited by wyldckat; March 16, 2014 at 15:56. Reason: see "edit:"
wyldckat is offline   Reply With Quote

Old   March 20, 2014, 05:15
Default
  #3
Member
 
Daniel Pielmeier
Join Date: Apr 2012
Posts: 96
Rep Power: 6
billie is on a distinguished road
I have the same issue.

I call makeParaview with the following options:
Code:
./makeParaView4 -mpi -python -python-lib /usr/lib/x86_64-linux-gnu/libpython2.7.so
It looks like the MPI library is found:
Code:
-- Found MPI_C: /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/lib64/libmpi.so  
-- Found MPI_CXX: /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/lib64/libmpi.so  
-- Could NOT find MPI_C (missing:  MPI_C_LIBRARIES) 
-- Could NOT find MPI_CXX (missing:  MPI_CXX_LIBRARIES) 
-- Found MPI_C: /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/lib64/libmpi.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/librt.so;/usr/lib/x86_64-linux-gnu/libnsl.so;/usr/lib/x86_64-linux-gnu/libutil.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/libdl.so  
-- Found MPI_CXX: /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/lib64/libmpi.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/librt.so;/usr/lib/x86_64-linux-gnu/libnsl.so;/usr/lib/x86_64-linux-gnu/libutil.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/libdl.so
The error message at the end about the MPI_EXTRA_LIBRARY NOTFOUND is different compared to the one Ferdinand has. This is probably because I additionally try to build with python support:
Code:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
MPI_EXTRA_LIBRARY (ADVANCED)
    linked by target "mpi4py.MPE" in directory /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/ParaView-4.1.0/ThirdParty/mpi4py/vtkmpi4py
    linked by target "mpi4py.MPI" in directory /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/ParaView-4.1.0/ThirdParty/mpi4py/vtkmpi4py
    linked by target "pmpi-mpe" in directory /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/ParaView-4.1.0/ThirdParty/mpi4py/vtkmpi4py
    linked by target "pmpi-vt" in directory /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/ParaView-4.1.0/ThirdParty/mpi4py/vtkmpi4py
    linked by target "pmpi-vt-hyb" in directory /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/ParaView-4.1.0/ThirdParty/mpi4py/vtkmpi4py
    linked by target "pmpi-vt-mpi" in directory /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/ParaView-4.1.0/ThirdParty/mpi4py/vtkmpi4py

-- Configuring incomplete, errors occurred!
Full log of configure phase: configure_mpi_python.txt

If I only try to build with mpi support I get the same error Ferdinand has:
Code:
./makeParaView4 -mpi
Code:
-- Found MPI_C: /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/lib64/libmpi.so  
-- Found MPI_CXX: /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/lib64/libmpi.so  
-- Could NOT find MPI_C (missing:  MPI_C_LIBRARIES) 
-- Could NOT find MPI_CXX (missing:  MPI_CXX_LIBRARIES)
Code:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
MPI_EXTRA_LIBRARY (ADVANCED)
    linked by target "vtkPVClientServerCoreCore" in directory /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/ParaView-4.1.0/ParaViewCore/ClientServerCore/Core

-- Configuring incomplete, errors occurred!
Full log of configure phase: configure_mpi.txt

This happens on Ubuntu 13.10 and the installation instructions used are the official ones for installing openfoam from the git repository.
billie is offline   Reply With Quote

Old   March 22, 2014, 07:45
Default
  #4
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,551
Blog Entries: 39
Rep Power: 97
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Greetings Daniel,

Mmm... knowing which installation instructions you've followed would come in handy to figure out the issue.
From what I can see, first check what this command gives you:
Code:
ls -l /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/lib64/libmpi.so
If it does give you the details for an existing file, then that means that you've built Open-MPI 1.6.5 that comes with OpenFOAM 2.3.x.
If this is the case, then problem is that this will not build the C++ library needed for ParaView's MPI capabilities.

To build those libraries, follow these steps:
  1. Edit the file "ThirdParty-2.3.x/Allwmake".
  2. Find this block of code:
    Code:
            ./configure \
                --prefix=$MPI_ARCH_PATH \
                --disable-orterun-prefix-by-default \
                --enable-shared --disable-static \
                --libdir=$MPI_ARCH_PATH/lib${WM_COMPILER_LIB_ARCH} \
                --disable-mpi-f77 \
                --disable-mpi-f90 \
                --disable-mpi-cxx \
                --disable-mpi-profile \
                $configOpt \
                ;
  3. Remove the line "--disable-mpi-cxx":
    Code:
            ./configure \
                --prefix=$MPI_ARCH_PATH \
                --disable-orterun-prefix-by-default \
                --enable-shared --disable-static \
                --libdir=$MPI_ARCH_PATH/lib${WM_COMPILER_LIB_ARCH} \
                --disable-mpi-f77 \
                --disable-mpi-f90 \
                --disable-mpi-profile \
                $configOpt \
                ;
  4. Save and close the file.
  5. On the command line, run:
    Code:
    cd $WM_THIRD_PARTY_DIR
    rm $MPI_ARCH_PATH/lib${WM_COMPILER_LIB_ARCH}/libmpi.so
    ./Allwmake
  6. Once it's completed, then you can build ParaView 4.1.0 the way you've been trying to do it.
Keep in mind that if the above instructions work as intended, then you might need to run Allwmake inside the "OpenFOAM-2.3.x" folder as well.


Best regards,
Bruno

PS: I've reported this issue here: http://www.openfoam.org/mantisbt/view.php?id=1233
__________________

Last edited by wyldckat; March 22, 2014 at 07:51. Reason: see "PS:"
wyldckat is offline   Reply With Quote

Old   March 24, 2014, 07:32
Default
  #5
Member
 
Daniel Pielmeier
Join Date: Apr 2012
Posts: 96
Rep Power: 6
billie is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
Greetings Daniel,
Hi Bruno thanks for your answer!

Quote:
Originally Posted by wyldckat View Post
Mmm... knowing which installation instructions you've followed would come in handy to figure out the issue.
You have read to quick. I mentioned this in the last sentence of my post
Quote:
Originally Posted by wyldckat View Post
From what I can see, first check what this command gives you:
Code:
ls -l /home/openfoam/OpenFOAM-dev/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/lib64/libmpi.so
If it does give you the details for an existing file, then that means that you've built Open-MPI 1.6.5 that comes with OpenFOAM 2.3.x.
If this is the case, then problem is that this will not build the C++ library needed for ParaView's MPI capabilities.

To build those libraries, follow these steps:
  1. Edit the file "ThirdParty-2.3.x/Allwmake".
  2. Find this block of code:
    Code:
            ./configure \
                --prefix=$MPI_ARCH_PATH \
                --disable-orterun-prefix-by-default \
                --enable-shared --disable-static \
                --libdir=$MPI_ARCH_PATH/lib${WM_COMPILER_LIB_ARCH} \
                --disable-mpi-f77 \
                --disable-mpi-f90 \
                --disable-mpi-cxx \
                --disable-mpi-profile \
                $configOpt \
                ;
  3. Remove the line "--disable-mpi-cxx":
    Code:
            ./configure \
                --prefix=$MPI_ARCH_PATH \
                --disable-orterun-prefix-by-default \
                --enable-shared --disable-static \
                --libdir=$MPI_ARCH_PATH/lib${WM_COMPILER_LIB_ARCH} \
                --disable-mpi-f77 \
                --disable-mpi-f90 \
                --disable-mpi-profile \
                $configOpt \
                ;
  4. Save and close the file.
  5. On the command line, run:
    Code:
    cd $WM_THIRD_PARTY_DIR
    rm $MPI_ARCH_PATH/lib${WM_COMPILER_LIB_ARCH}/libmpi.so
    ./Allwmake
  6. Once it's completed, then you can build ParaView 4.1.0 the way you've been trying to do it.
Keep in mind that if the above instructions work as intended, then you might need to run Allwmake inside the "OpenFOAM-2.3.x" folder as well.
Removing the configure option which disabled building the cxx library of openmpi fixed the configuration issue.
Quote:
Originally Posted by wyldckat View Post
PS: I've reported this issue here: http://www.openfoam.org/mantisbt/view.php?id=1233
Thank you very much for reporting this issue!
billie is offline   Reply With Quote

Old   March 26, 2014, 17:31
Default
  #6
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,551
Blog Entries: 39
Rep Power: 97
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Quote:
Originally Posted by billie View Post
You have read to quick. I mentioned this in the last sentence of my post
Ooops, sorry. I was in a hurry and expecting it to be on the beginning of the information and not near the end


Quote:
Originally Posted by billie View Post
Removing the configure option which disabled building the cxx library of openmpi fixed the configuration issue.

Thank you very much for reporting this issue!
You're welcome! Although I don't know if they will change it, since OpenFOAM itself doesn't need it...
__________________
wyldckat is offline   Reply With Quote

Old   March 27, 2014, 02:27
Default
  #7
Member
 
Daniel Pielmeier
Join Date: Apr 2012
Posts: 96
Rep Power: 6
billie is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
You're welcome! Although I don't know if they will change it, since OpenFOAM itself doesn't need it...
They support Paraview as post-processor so they should change it, or remove the configure option from makeParaview*
billie is offline   Reply With Quote

Old   April 7, 2014, 05:44
Default
  #8
Member
 
Ferdinand Pfender
Join Date: May 2013
Location: Berlin, Germany
Posts: 34
Rep Power: 5
FerdiFuchs is on a distinguished road
sorry for my late response...

i got it to work a few days ago.
i solved the problem by setting up a link for lib to the existing directory lib64 in the directory of openmpi.

thanks a lot!
FerdiFuchs is offline   Reply With Quote

Old   December 1, 2014, 07:31
Default
  #9
New Member
 
Join Date: Jul 2009
Posts: 7
Rep Power: 9
Monker1980 is on a distinguished road
Thanks to previous posters for pointing me in the right direction.

The issue seems to be that the ThirdParty-2.3.x/etc/tools/ParaView4Functions file refers to $MPI_ARCH_PATH/lib/libmpi_cxx.so instead of the lib64 folder.

Changing these references (below) from lib to lib64 solved it for me.

Code:
addMpiSupport()
{
    [ "${withMPI:=false}" = true ] || return
    OBJ_ADD="$OBJ_ADD-mpi"

    addCMakeVariable  "PARAVIEW_USE_MPI=ON VTK_USE_MPI=ON"
    addCMakeVariable  "MPI_INCLUDE_PATH=$MPI_ARCH_PATH/include"
    addCMakeVariable  "MPI_LIBRARY=$MPI_ARCH_PATH/lib64/libmpi.so"
    if [ -e $MPI_ARCH_PATH/lib64/libmpi_cxx.so ]
    then
        addCMakeVariable  "MPI_EXTRA_LIBRARY=$MPI_ARCH_PATH/lib64/libmpi_cxx.so"
    fi
    addCMakeVariable  "VTK_MPIRUN_EXE=$MPI_ARCH_PATH/bin/mpirun"
    addCMakeVariable  "VTK_MPI_MAX_NUMPROCS=$MPI_MAX_PROCS"
}
wyldckat likes this.
Monker1980 is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Installing OpenFOAM141patched on Solaris10 MPIProblem jfb OpenFOAM Installation 1 October 24, 2007 08:05
MPI PROBLEMS gtg627e OpenFOAM Running, Solving & CFD 20 October 5, 2007 04:02
Problems after installing 14 and trying to build my solver alan_fergus OpenFOAM Running, Solving & CFD 2 June 14, 2007 04:24
Installation problems shellbell1999 OpenFOAM Installation 9 April 6, 2006 13:29
Problems installing CFX on Sun Unix Platform Haley CFX 2 November 9, 2001 10:52


All times are GMT -4. The time now is 03:07.