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 2.0.0 installation + ICC + Rocks Cluster (https://www.cfd-online.com/Forums/openfoam-installation/90475-openfoam-2-0-0-installation-icc-rocks-cluster.html)

chinper July 11, 2011 15:03

OpenFoam 2.0.0 installation + ICC + Rocks Cluster
 
1 Attachment(s)
Hi all,

I tried to install openfoam from sources over Rocks Cluster 5.4 + Intel cluster studio without sucess.

I'm getting many warnings an errors like these:

ipo: warning #11012: unable to find -lfiniteVolume
ipo: warning #11012: unable to find -lmeshTools
ipo: warning #11012: unable to find -lsurfMesh
ipo: warning #11012: unable to find -ltriSurface
ipo: warning #11012: unable to find -llagrangian
ipo: warning #11012: unable to find -lconversion

in addition, when I execute wmSET I get this:

Warning in /root/OpenFOAM/OpenFOAM-2.0.0/etc/config/settings.sh:
Unknown OpenFOAM compiler type 'Icc'
Please check your settings

make.log is attached. Appreciate your help on this.

wyldckat July 11, 2011 17:53

Greetings Daniel and welcome to the forum!

OK, there seems to be a few of problems, according to the output you posted:
  • flex was unable to write to the disk. This might mean permission problems or maybe you're trying to build on a remote folder and there was a sync problem.
  • Somehow you didn't choose the Icc option properly and it still tried to build with Gcc. How did you set that option?
My advice, do not build OpenFOAM as root! If you do want to build OpenFOAM so it's visible to all users, then do the following steps:
  • Before building OpenFOAM, run this command on OpenFOAM's base folder:
    Code:

    chown -R youruser:yourgroup /opt/OpenFOAM
    youruser:yourgroup is usually your user name and the group is "users", but I'm not sure if this is how Rocks does things by default.
    Then login into your user account and build things from there. This way you avoid some serious mistake of deleting other files of the system.
  • After building OpenFOAM and verifying that all is well, change the permissions back like this:
    Code:

    chown -R root:root /opt/OpenFOAM
    This way only root can modify files from here.
The other possibility is to build on your home folder and after all is done, then copy to the global folder as root and changing permissions were necessary, including the adaptations necessary in OpenFOAM's etc/bashrc file.

Best regards,
Bruno

chinper July 11, 2011 18:42

Hi Bruno,

In OpenFOAM-2.0.0/etc/bashrc I changed the line WM_COMPILER to

#- Compiler:
# WM_COMPILER = Gcc | Gcc43 | Gcc44 | Gcc45 | Gcc46 | Clang | Icc (Intel icc)
export WM_COMPILER=Icc



#- MPI implementation:
# WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI
# | GAMMA | MPI | QSMPI
export WM_MPLIB=IMPI

in config/settings.sh changed:


# Communications library
# ~~~~~~~~~~~~~~~~~~~~~~

unset MPI_ARCH_PATH MPI_HOME FOAM_MPI_LIBBIN

case "$WM_MPLIB" in


IMPI)
export MPI_HOME=/usr/local/opt/intel/impi/4.0.1.007/intel64
export MPI_ARCH_PATH=$MPI_HOME
_foamAddPath $MPI_ARCH_PATH/bin
_foamAddLib $MPI_ARCH_PATH/lib
export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/impi
;;


Best,

wyldckat July 12, 2011 18:00

Hi David,

Interesting... OK, I've re-read both of your posts and what comes to mind is that the environment variable foamCompiler is being set to either ThirdParty or OpenFOAM somewhere in etc/bashrc or etc/config/settings.sh or somewhere else. This is the only reason why it would say:
Quote:

Unknown OpenFOAM compiler type 'Icc'
Please check your settings
What does this output:
Code:

echo $foamCompiler
If it outputs nothing, edit both files or any other ones you might have modified and check if you did this modification.

The other thing is if you modified anything at the folders wmake/rules/linuxIcc or wmake/rules/linux64Icc, which is where the names of the compilers are hard-coded for 32 and 64bit respectively.

I think these should be the places that need your attention... since you are using wmSET... although starting a new terminal always clears up any doubts of a bad environment contaminating everything...

Best regards,
Bruno

chinper July 12, 2011 22:03

Hi Bruno,

You're correct, the variable foamCompiler is empty


Bashrc looks like:

#- Compiler location:
# foamCompiler= system | ThirdParty (OpenFOAM)
foamCompiler=ThirdParty

I can't see any export for this variable. do I have to add it? I didn't see it in any additional place.

and no changes were made in wmake/rules/linuxIcc or wmake/rules/linux64Icc


Best,


Daniel

wyldckat July 13, 2011 16:00

Hi Daniel,

Simply change the line:
Code:

foamCompiler=ThirdParty
To this one:
Code:

foamCompiler=system
Start a new terminal or run wmSET and you should be ready to go!

Good luck!
Bruno


All times are GMT -4. The time now is 20:05.