|
[Sponsors] |
December 10, 2008, 07:42 |
Hi there!
After HPMPI is of
|
#1 |
Member
Carsten Thorenz
Join Date: Mar 2009
Location: Germany
Posts: 34
Rep Power: 17 |
Hi there!
After HPMPI is officially supported, I tried to do clean compilation from scratch (GIT-Version as of 09.12.08). Compilation fails for two reasons: a) HPMPI-version of libPstream.so is not built, because src/Pstream/Allwmake doesn't contain a case for HPMPI. Fix is simple, add HPMPI to the case statement in src/Pstream/Allwmake. b) When linking, libPstream.so is not found. I kind of "solved" it by copying the content of lib/linux64GccDPOpt/hpmpi/ to lib/linux64GccDPOpt/, then it worked fine. There should be place to simply change the library search path, but I don't know ... Bye, Carsten Thorenz |
|
December 10, 2008, 08:11 |
Thanks. I put in a)
b) The
|
#2 |
Senior Member
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26 |
Thanks. I put in a)
b) The libPstream.so obviously get correctly built in linux64GccDPOpt/hpmpi/ which is the path obtained from $FOAM_MPI_LIBBIN. This variable is added to the LD_LIBRARY_PATH (settings.sh line 247). Can you re-execute the OpenFOAM .bashrc and check your LD_LIBRARY_PATH? |
|
December 11, 2008, 09:22 |
Hi Mattijs!
a) Thank you!
|
#3 |
Member
Carsten Thorenz
Join Date: Mar 2009
Location: Germany
Posts: 34
Rep Power: 17 |
Hi Mattijs!
a) Thank you! b) I was probably too dumb. After logging off and logging in again, it works fine Allow me a general comment on the usage of LD_LIBRARY_PATH: I think it is a bad idea to force the user to parse a script that changes LD_LIBRARY_PATH before programs can be run. For example on our cluster, this operation must be performed on every client node when OpenFoam is used in parallel. My solution is to parse OpenFoam's bashrc from within my private .bashrc because otherwise the OpenFoam-mpi-clients are unhappy with their library-path. This is painful, as it globally changes my library search path and thus conflicts with other programs. So, I would propose not to change LD_LIBRARY_PATH every time OpenFoam is to be used. Maybe one could instead compile it with the option -Wl,-R/PATH/TO/MY/LIBS1,-R/PATH/TO/MY/LIBS2,... so that it finds them during compile time? Well, maybe this is bad for the precompiled binaries. One could use a wrapper-script for them to change LD_LIBRARY_PATH. Just my 2c. Bye, Carsten Thorenz |
|
December 16, 2008, 13:23 |
Thanks for the feedback. It is
|
#4 |
Senior Member
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26 |
Thanks for the feedback. It is easy to write a script to source the OpenFOAM settings before executing the parallel program and not do it by default in your private .bashrc. See e.g. mpirunDebug script which uses the 'Application Context' option of OpenMPI mpirun to execute a different script on every process.
We do not like -R at all. Makes it impossible to e.g. quickly change the Pstream library used by just changing your LD_LIBRARY_PATH. Also introduces another complexity (first search RPATH, then LD_LIBRARY_PATH). |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Compilation problem | antonio_ing | OpenFOAM Running, Solving & CFD | 5 | February 22, 2009 17:49 |
Installation v15 using HPMPI | isaac1115 | OpenFOAM Installation | 3 | February 12, 2009 01:29 |
HPMPI Infiniband problem | carsten | OpenFOAM Bugs | 2 | January 25, 2009 16:36 |
!!! UDF - Compilation problem !!! | Everest | FLUENT | 1 | January 12, 2009 18:56 |
udf compilation problem | co2 | FLUENT | 4 | April 16, 2004 18:34 |