CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (https://www.cfd-online.com/Forums/openfoam-installation/)
-   -   OpenFoam Installation in Redhat Enterprise linux 5 (https://www.cfd-online.com/Forums/openfoam-installation/73629-openfoam-installation-redhat-enterprise-linux-5-a.html)

wyldckat October 31, 2010 09:15

Greetings Venkatraman,
Quote:

Originally Posted by maruthamuthu_venkatraman (Post 281482)
There are no plans to update the RHEL version in near future . So I need to live with this system for the time being .

I know the feeling...

Quote:

Originally Posted by maruthamuthu_venkatraman (Post 281482)
Some told me that there is a possibility to copy the compiled gcc, gmp and mpfr ? and paste it on ThirdPaty-1.7.x/platforms/LinuxGcc location to solve this issue.

Disclaimer: I haven't tested this yet... But here are few guidelines:
  1. Download the Third-party package from CentFOAM, chapter Manual install.
  2. Unpack it in a temporary folder.
  3. Read and implement point 3 from this page on your OpenFOAM installation: Automated scripts for building gcc 4.4.x and 4.5.x for using with OpenFOAM 1.7 series
  4. When you've finished implementing point 3, start a new terminal and activate (i.e., source) OpenFOAM's environment. For example:
    Code:

    . $HOME/OpenFOAM/OpenFOAM-1.7.x/etc/bashrc
  5. Now this command will tell you where, for example, gcc-4.4.4 should be installed:
    Code:

    echo $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gcc-4.4.4
  6. Go to the package you downloaded and extracted from CentFOAM, find that same folder and move its contents to the folder given in the previous command.
  7. Now run:
    Code:

    which gcc
    gcc -v

    It should show you where the visible gcc is placed and which version it is.
You could also try copying gcc 4.3.3 from the ThirdParty binary packages for OpenFOAM 1.6.

Now, this may or may not work, since there could be incompatibilities between the recent gcc builds and the old glibc version in RHEL 3/4.
And keep in mind that the gcc-4.4.4 version from CentFOAM is x86_64 only, so if your RHEL is x86, you will have to try gcc 4.3.3 from OpenFOAM 1.6. Run this if you don't know which one you have:
Code:

uname -m
Best regards,
Bruno

maruthamuthu_venkatraman November 2, 2010 12:49

Thanks for your hints....I will try and let you know.

johny November 8, 2010 10:56

Hi Bruno, I'm back after my short holidays...I got my linux updated Linux 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux Red Hat Enterprise Linux Client release 5.4 (Tikanga) and somehow managed:) to upgrade my compiler to gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/opt/gcc --program-suffix=444-real --with-ppl --with-cloog --with-mpfr=/opt/gcc --with-gmp --enable-languages=c,c++,fortran --enable-shared --enable-multiarch --enable-linker-build-id --enable-threads=posix --enable-checking --with-system-zlib --with-pkgversion=tygier Thread model: posix gcc version 4.4.4 (tygier) Now when I the ./Allwmake in the OpenFOAM-1.7.1 directory I'm getting a lot of messages like(just one of them pasted below) SOURCE=topoChangerFvMesh/topoChangerFvMesh.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/finiteVolume/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/dynamicFvMesh/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/dynamicMesh/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/OpenFOAM/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/topoChangerFvMesh.o /bin/sh: g++: command not found and eventually terminates with errors... I guess this means that it cannot find the g++ compiler... When I pick one of the above messages and replace g++ with g++444 which is my new compiler it runs.... Do you have any idea where can I alternate something so that this g++ is replaced by g++444....I hope to get it solved by that.... Looking forward to your reply. Thanks
Quote:

Originally Posted by johny (Post 281203)
Thanks Bruno for the support....I think I got to ask the administrator for an urgent update !!!


johny November 8, 2010 11:01

Hi Bruno, I'm back after my short holidays...I got my linux updated Linux 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux Red Hat Enterprise Linux Client release 5.4 (Tikanga) and somehow managed to upgrade my compiler to gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/opt/gcc --program-suffix=444-real --with-ppl --with-cloog --with-mpfr=/opt/gcc --with-gmp --enable-languages=c,c++,fortran --enable-shared --enable-multiarch --enable-linker-build-id --enable-threads=posix --enable-checking --with-system-zlib --with-pkgversion=tygier Thread model: posix gcc version 4.4.4 (tygier) Now when I do ./Allwmake in the OpenFOAM-1.7.1 directory I'm getting a lot of messages like(just one of them pasted below) SOURCE=topoChangerFvMesh/topoChangerFvMesh.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/finiteVolume/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/dynamicFvMesh/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/dynamicMesh/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/OpenFOAM/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/topoChangerFvMesh.o /bin/sh: g++: command not found and eventually terminates with errors... I guess this means that it cannot find the g++ compiler... When I pick one of the above messages and replace g++ with g++444 which is my new compiler it runs.... Do you have any idea where can I alternate something so that this g++ is replaced by g++444....I hope to get it solved by that.... Looking forward to your reply. Thanks
Quote:

Originally Posted by johny (Post 282634)
Hi Bruno, I'm back after my short holidays...I got my linux updated Linux 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux Red Hat Enterprise Linux Client release 5.4 (Tikanga) and somehow managed:) to upgrade my compiler to gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/opt/gcc --program-suffix=444-real --with-ppl --with-cloog --with-mpfr=/opt/gcc --with-gmp --enable-languages=c,c++,fortran --enable-shared --enable-multiarch --enable-linker-build-id --enable-threads=posix --enable-checking --with-system-zlib --with-pkgversion=tygier Thread model: posix gcc version 4.4.4 (tygier) Now when I the ./Allwmake in the OpenFOAM-1.7.1 directory I'm getting a lot of messages like(just one of them pasted below) SOURCE=topoChangerFvMesh/topoChangerFvMesh.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/finiteVolume/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/dynamicFvMesh/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/dynamicMesh/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/OpenFOAM/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/topoChangerFvMesh.o /bin/sh: g++: command not found and eventually terminates with errors... I guess this means that it cannot find the g++ compiler... When I pick one of the above messages and replace g++ with g++444 which is my new compiler it runs.... Do you have any idea where can I alternate something so that this g++ is replaced by g++444....I hope to get it solved by that.... Looking forward to your reply. Thanks


wyldckat November 8, 2010 11:09

Hi Jonhy,

Wow, your posts got somehow super condensed :confused: Suggestion: use Advanced mode for editing your posts!

And that update to gcc 4.4.4, you should share how you got it done ;)
As for your problem with g++444, see this explanation: OpenFOAM install on RHEL 5.5 post #2

Best regards,
Bruno

johny November 8, 2010 11:12

Just noticed that the command "which gcc" gives /usr/bin/gcc (where gcc lies) against /opt/gcc/bin/ where g++444 lies......
Quote:

Originally Posted by johny (Post 282636)
Hi Bruno, I'm back after my short holidays...I got my linux updated Linux 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux Red Hat Enterprise Linux Client release 5.4 (Tikanga) and somehow managed to upgrade my compiler to gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/opt/gcc --program-suffix=444-real --with-ppl --with-cloog --with-mpfr=/opt/gcc --with-gmp --enable-languages=c,c++,fortran --enable-shared --enable-multiarch --enable-linker-build-id --enable-threads=posix --enable-checking --with-system-zlib --with-pkgversion=tygier Thread model: posix gcc version 4.4.4 (tygier) Now when I do ./Allwmake in the OpenFOAM-1.7.1 directory I'm getting a lot of messages like(just one of them pasted below) SOURCE=topoChangerFvMesh/topoChangerFvMesh.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/finiteVolume/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/dynamicFvMesh/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/dynamicMesh/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/OpenFOAM/lnInclude -I/home/joseph/OpenFOAM/OpenFOAM-1.7.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/topoChangerFvMesh.o /bin/sh: g++: command not found and eventually terminates with errors... I guess this means that it cannot find the g++ compiler... When I pick one of the above messages and replace g++ with g++444 which is my new compiler it runs.... Do you have any idea where can I alternate something so that this g++ is replaced by g++444....I hope to get it solved by that.... Looking forward to your reply. Thanks


maruthamuthu_venkatraman November 9, 2010 05:36

OpenFOAM1.7.x installation on RHEL 4.0 cluster
 
1 Attachment(s)
Hello Bruno,
I followed your guidelines as u mentioned in last reply. I will explain you in detail so that if I miss anything you may able to guide me better.

1. I downloaded the OpenFoam1.7.x and extracted and renamed in home/OpenFoam/OpenFOAM-1.7.x

2. Then the Thirdparty1.7.0 was also downloaded and renamed as Thirdparty-1.7.x

3. As you said , the compiler of the system was changed in to OPENFOAM in the sttings.csh and the versions are changed into 4.4.4 for gcc.

4. Since i use X86_64 arcitecture in the OpenFoam cshrc file I changed the commands in gcc and g++ to gcc44 and g++44

5. I sourced the openFoam cshrc file

6. In the downloaded CENTFOAM third party i found a directory platforms/linux64/gcc4.4.4 . But this platforms directory was not there in the Thirdparty1.7.x stuff that i downloaded from the git repository. So i copied the directory 'platforms' completely and pasted it in the ThirdParty 1.7.x.

7. gcc -version gives GCC-4.4.4 and it is pointing the right location.

8. Then I executed ./Allwmake > log.allwmake


But there are many errors displayed in the terminal window. However they are not shown in log files. I hereby attach the log output file for your reference. If you can have a look at it it will be useful to me.

Thanks and Regards

wyldckat November 9, 2010 18:32

Greetings Venkatraman,

Please run again but like this:
Code:

./Allwmake > log.allwmake  2>&1
This way the errors will also be outputed into the log file.

All I can figure out is that something very weird is happening, due to binaries being built as "OpenFOAM.out" :confused:

So, my guess is that it's either flex or binutils that is missing...

Best regards,
Bruno

maruthamuthu_venkatraman November 10, 2010 05:19

1 Attachment(s)
Dear Bruno,
I hereby attached the Log files with error messages. I checked Flex version it says flex 2.5.4 and Bison 1.875c .

If you can tell me what are the packages that are missing for RHEL 4.0 X86_64 , to install OF 1.7.x then it will be useful. I had an Appt with LINUX admin tomorrow, If you cna tell me either by today or tomorrow it wil be useful.

Thanks and Regards

wyldckat November 10, 2010 07:11

Hi Venkatraman,

Bad news, the gcc version you've got doesn't work :(

Try following this tutorial and you will see what I mean: Compiling a simple C++ program

You better ask your system's administrator to build you an updated gcc, either 4.4.4/4.4.5 or 4.5.1, including the latest binutils. Apparently the version built the CentOS 5.x is too much in the future for possible compatibility with RHEL/CentOS 4.x.

If your system's administrator can't build an up-to-date gcc+binutils, try installing CentOS 4.x in a virtual machine, build gcc+binutils (and maybe OpenFOAM as well) and then copy the resulting build to your RHEL 4 machine.

Another way to check if gcc is working is to run this:
Code:

cd $WM_DIR/src
make

This should build wmake's assistant tools: wmkdep and dirToString. Without these, you won't be able to build OpenFOAM.

Best regards and good luck!
Bruno

maruthamuthu_venkatraman November 12, 2010 09:02

Dear Bruno,
You are right ! The gcc4.4.4 provided by CentFOAM is not compatible to build OpenFOAM1.7.x on RHEL 4.0 . This was not possible with my experience.

Now Iam building OpenFOAM on CENTOS-5.5 on a seperate workstation. I followed the steps for manual installation provided in CentFOAM website. OF1.7.0 was installed without any flaws.

Then I downloaded OF1.7.x and changed the settings for gcc compiler from system to OpenFoam and version 4.4.4 in settings.sh. Path is also set using alias command for .bashrc file .

For the thirdparty directory , i copied the existing Thirdparty-1.7.0 (from centFOAM)and just renamed the director y as ThirdParty- 1.7.x. I got only one error as of now. Could you tell me what is the problem.

make:*** [/opt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libscotchDecomp.so] Error 1


Thanks

wyldckat November 12, 2010 11:27

Hi Muthu,

Quote:

Originally Posted by maruthamuthu_venkatraman (Post 283243)
make:*** [/opt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libscotchDecomp.so] Error 1

:eek: I'm gonna need to know more than that ;)

Run Allwmake like this:
Code:

./Allwmake > make.log 2>&1
tar -czf make.log.tar.gz make.log

Then please post the compressed log file; otherwise I can only make wild guesses, such as:
  • libscotch didn't build properly...
  • OpenMPI wasn't properly built or something...

Best regards,
Bruno

johny November 14, 2010 13:44

Hi Bruno,
Sorry that I couldn't share my experience. I was just away for a week on official reasons. Anyway it seems that my installation really didn't work well(even after trying to get the compiler linking issue in order) and there were a lot of compiler incompatibilites and dependencies error that my colleague decided to get a fresh installation.

Could you please shed some light in the following 2 issues regarding bc's

1)How can I mention the inlet velocity in OpenFOAM when the boundary under consideration is a curved surface of a cylinder and flow(inlet velocity) should be tangential(or lets at an angle to the normal) to this surface and away from the axis of this cylindrical surface. Basically this cylindrical surface is an inlet to a cabin and air is drove into the cabin with a fan alligned to the axis of the surface(cylindrical)

2)Here again is about the inlet velocity bc. In the wind tunnel simulation flow enters the tunnel through the inlet normal to the inlet surface. But if I want to mention the velocity at an angle to the to inlet surface, how can I do it.

I would greatly appreciate a reply and looking forward to it...

Cheers !!!


Quote:

Originally Posted by wyldckat (Post 282638)
Hi Jonhy,

Wow, your posts got somehow super condensed :confused: Suggestion: use Advanced mode for editing your posts!

And that update to gcc 4.4.4, you should share how you got it done ;)
As for your problem with g++444, see this explanation: OpenFOAM install on RHEL 5.5 post #2

Best regards,
Bruno


wyldckat November 14, 2010 17:13

Hi Johny,
Quote:

Originally Posted by johny (Post 283409)
Anyway it seems that my installation really didn't work well(even after trying to get the compiler linking issue in order) and there were a lot of compiler incompatibilites and dependencies error that my colleague decided to get a fresh installation.

A very wise decision :)

Quote:

Originally Posted by johny (Post 283409)
Could you please shed some light in the following 2 issues regarding bc's
(...)
I would greatly appreciate a reply and looking forward to it...

:( I'm so sorry, but on those types of questions, I don't know much (--> here <-- is more about what I do and don't know ;)). And I believe it's best that you ask those questions on the dedicated section of this forum: OpenFOAM Running / Solving / CFD
Or like many people do, ask on the main OpenFOAM forum.

---------------------

OK, the rest of this post I will use for my report on my experiences this weekend with CentOS:
  • I've installed in 4 virtual machines the CentOS i386 versions 3.3, 3.9, 4.0 and 4.8. The first 3 were downloaded from CentOS's vault.
  • In all of them I was successful in building OpenFOAM 1.7.1, without much effort.
  • Each machine was configured with 20GB of disk, 1.6GB of RAM, 4 cores and always installed CentOS in Workstation mode, since it already comes with development tools pre-installed, so I didn't need to mess around with the package manager nor yum :)
  • All of these CentOSes come with flex 2.5.4, which was more than enough for building OpenFOAM 1.7.1.
  • All of them come with gcc series 3.x.x, which was more than enough for building make, binutils and gcc 4.4.4. I haven't tried gcc 4.5.1, but it should well enough as well :)
  • In CentOS 3.x versions, I had to build a more recent GNU make, but I've just included it in my build-gcc scripts (see here).
  • Other than this, I didn't need to build a new flex, nor need to build any other more recent tools!
So, it's pretty simple:
  1. follow the instructions in www.openfoam.com for building either OpenFOAM 1.7.1 or 1.7.x (although I haven't tried the git versions that come with these CentOSes)...
  2. BUT just before you run Allwmake, follow the instructions on this blog post: Automated scripts for building gcc 4.4.x and 4.5.x for using with OpenFOAM 1.7 series
  3. After this, keep following the original instructions for building OpenFOAM and you should have it all working after a few hours.
I didn't try to build ParaView in these CentOSes, since that's a whole other ball game ;)

As for that previous issue reported on this thread, namely post #19, it probably happened solely because there was a folder path in the environment variable LD_LIBRARY_PATH that carried a "rogue" library... which could be the pre-built ParaView 3.8.0 available only. In such a scenario, it's necessary to neutralize that path... and such explanation will have to wait for another time, because I don't want to over-post ;)

So, to conclude:
  • If you do have an RHEL 5.x, try CentFOAM first.
  • For those people who need to build OpenFOAM in an old RHEL (version < 5.0), have no root access to that machine, you can try at first following these instructions above. If they don't work, install CentOS of the same version as your RHEL, in a Virtual Machine or on a real machine, and be sure to install the Workstation version (question appears during installation). Then follow these instructions again. When done, pack the whole OpenFOAM folder and take it to your RHEL machine and modify OpenFOAM-1.7.1/etc/bashrc if necessary, to adapt the folder paths.
Good luck! Best regards,
Bruno

maruthamuthu_venkatraman November 15, 2010 03:19

1 Attachment(s)
Dear Bruno,
I hereby attach the compressed log file to see the details of comiplation. Actually I can able to run foamInstallationTest and it says all crictical systema and basic configurations are Ok. I also ran some testcases and the results are okey.

But still I want to make it sure that this Error comes from where ? Does it has any influence later ?

Thanks

wyldckat November 15, 2010 09:45

Dear Muthu,

The only error there is in the log file is for libscotchDecomp, just as you previously posted about. Sorry about that, I didn't understand before that this was the only error. The solution is quite simple: run Allwmake again and the error will be solved :)

The error is one of the issues I've recently reported to OpenCFD's bug tracking system:
Quote:

Originally Posted by http://www.openfoam.com/mantisbt/view.php?id=79
when doing a completely clean build of OpenFOAM, libscotch and libptscotch don't get copied to the target folders, because when doing a completely new build, the folders haven't been created by wmake yet. Therefore, some libraries and applications aren't built on the first run. A second run goes well, because the target folders already exist.

Best regards,
Bruno

maruthamuthu_venkatraman November 15, 2010 09:56

Thanks a lot Bruno! I will do it as you said. This clears my mind :-) .

flowris April 27, 2011 10:00

1 Attachment(s)
Hello,

I installed 1.7.x on a computer cluster and I am trying to do some parallel runs with the cavity case. All goes well, when I type my commands manually:
Code:

blockMesh
decomposePar
mpirun -np 8 icoFoam -parallel
reconstructPar

If I want to user different nodes, I qsub a file named run.sge which contains this:
Code:

#!/bin/sh 
#  request Bourne shell as shell for job
#$ -S /bin/sh
#$ -N cavity
#$ -m beas
#$ -M joris.mattheijssens@rma.ac.be
# Specify a MPI job on N processors
#$ -pe orte 8
#$ -cwd
# -j y standard error redirected in the same file as the standard output
#$ -o log -j y
#$ -v MPI_BUFFER_SIZE=200000000
. ~/OpenFOAM/OpenFOAM-1.7.x/etc/bashrc

rm machines
cat $PE_HOSTFILE | awk '{ print $1 " slots=" $2 }' > machines

decomposePar
mpirun --hostfile machines -np $NSLOTS --byslot icoFoam -parallel > log
reconstructPar
rm core*

I have a similar error message to msuho in #19 in my log file (see log.txt)

Can anybody tell me what the problem is?

gschaider April 27, 2011 11:11

Quote:

Originally Posted by flowris (Post 305294)
Hello,

I installed 1.7.x on a computer cluster and I am trying to do some parallel runs with the cavity case. All goes well, when I type my commands manually:
Code:

blockMesh
decomposePar
mpirun -np 8 icoFoam -parallel
reconstructPar

If I want to user different nodes, I qsub a file named run.sge which contains this:
Code:

#!/bin/sh 
#  request Bourne shell as shell for job
#$ -S /bin/sh
#$ -N cavity
#$ -m beas
#$ -M joris.mattheijssens@rma.ac.be
# Specify a MPI job on N processors
#$ -pe orte 8
#$ -cwd
# -j y standard error redirected in the same file as the standard output
#$ -o log -j y
#$ -v MPI_BUFFER_SIZE=200000000
. ~/OpenFOAM/OpenFOAM-1.7.x/etc/bashrc

rm machines
cat $PE_HOSTFILE | awk '{ print $1 " slots=" $2 }' > machines

decomposePar
mpirun --hostfile machines -np $NSLOTS --byslot icoFoam -parallel > log
reconstructPar
rm core*

I have a similar error message to msuho in #19 in my log file (see log.txt)

Can anybody tell me what the problem is?

Problem ist that the libstdc++ that it finds on the cluster is WAY too old. Let the script output

echo $LD_LIBRARY_PATH

and

ldd interFoam

(or whatever your solver is). Compare the outputs. See what is there. Is your cluster and your workstation the same RedHat-release? Which gcc did you use for compilation (maybe you'll have to install the compiler - or only the standard libraries that come with it - on the cluster too)

Bernhard

flowris April 28, 2011 03:26

Thank you.

I am not sure my libstdc++ is too old, since I used gcc-4.5.1.

What I do not understand is the following : Both simulations I describe above were tried on the same cluster, with CentOS release 5.4 (Final). When I type the commands one by one, it works, but when I use the run.sge, the troubles come.

I added the lines to run.sge. echo $LD_LIBRARY_PATH gives
Code:

/home/jmatthei/OpenFOAM/ThirdParty-1.7.x/platforms/linux64Gcc/paraview-3.8.0/lib/paraview-3.8:/home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/openmpi-1.4.1:/home/jmatthei/OpenFOAM/ThirdParty-1.7.x/platforms/linux64Gcc/openmpi-1.4.1/lib:/home/jmatthei/OpenFOAM/jmatthei-1.7.x/lib/linux64GccDPOpt:/home/jmatthei/OpenFOAM/site/1.7.x/lib/linux64GccDPOpt:/home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt:/home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/dummy:/opt/gridengine/lib/lx26-amd64:/usr/lib64/openmpi/1.4.1-gcc/lib:/share/apps/intel/lib/intel64:/share/apps/intel/ipp/em64t/sharedlib:/share/apps/intel/mkl/lib/em64t
ldd icoFoam gives an empty output, or when I type it directly in the terminal it gives
ldd: ./icoFoam: No such file or directory

So I went into OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt and then typed ldd icoFoam, which gave

Code:

    libfiniteVolume.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libfiniteVolume.so (0x00002ae2b8f96000)
    libOpenFOAM.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so (0x00002ae2b9fd1000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000003db7200000)
    libstdc++.so.6 => /share/apps/gcc-4.5.1/lib64/libstdc++.so.6 (0x00002ae2ba660000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003db6e00000)
    libgcc_s.so.1 => /share/apps/gcc-4.5.1/lib64/libgcc_s.so.1 (0x00002ae2ba966000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003db6a00000)
    libPstream.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/openmpi-1.4.1/libPstream.so (0x00002ae2bab7b000)
    libtriSurface.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libtriSurface.so (0x00002ae2bad85000)
    libmeshTools.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmeshTools.so (0x00002ae2baffd000)
    libz.so.1 => /usr/lib64/libz.so.1 (0x0000003db7a00000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003db6600000)
    libmpi.so.0 => /home/jmatthei/OpenFOAM/ThirdParty-1.7.x/platforms/linux64Gcc/openmpi-1.4.1/lib/libmpi.so.0 (0x00002ae2bb457000)
    libdecompositionMethods.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libdecompositionMethods.so (0x00002ae2bb6f9000)
    liblagrangian.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/liblagrangian.so (0x00002ae2bb919000)
    libopen-rte.so.0 => /home/jmatthei/OpenFOAM/ThirdParty-1.7.x/platforms/linux64Gcc/openmpi-1.4.1/lib/libopen-rte.so.0 (0x00002ae2bbb37000)
    libopen-pal.so.0 => /home/jmatthei/OpenFOAM/ThirdParty-1.7.x/platforms/linux64Gcc/openmpi-1.4.1/lib/libopen-pal.so.0 (0x00002ae2bbd86000)
    libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003db9a00000)
    libutil.so.1 => /lib64/libutil.so.1 (0x0000003dc3400000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003db7600000)
    libscotchDecomp.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libscotchDecomp.so (0x00002ae2bbfff000)
    libmetisDecomp.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmetisDecomp.so (0x00002ae2bc20c000)
    libparMetisDecomp.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/openmpi-1.4.1/libparMetisDecomp.so (0x00002ae2bc41b000)
    libscotch.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libscotch.so (0x00002ae2bc631000)
    libscotcherrexit.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libscotcherrexit.so (0x00002ae2bc891000)
    libmetis.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libmetis.so (0x00002ae2bca92000)
    libGKlib.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libGKlib.so (0x00002ae2bcce5000)
    libmetis-parmetis.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/openmpi-1.4.1/libmetis-parmetis.so (0x00002ae2bcf00000)
    libparmetis.so => /home/jmatthei/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/openmpi-1.4.1/libparmetis.so (0x00002ae2bd14a000)

I am not sure about what this means, but I think the problem is not in libstdc++, since for both the library is in /share/apps/gcc-4.5.1/lib64/libstdc++.so.6.

Don't you think the problem is somewhere in the run.sge file?


All times are GMT -4. The time now is 18:04.