CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (http://www.cfd-online.com/Forums/openfoam-installation/)
-   -   Problem Building OF on Centos cluster (no admin rights) (http://www.cfd-online.com/Forums/openfoam-installation/94280-problem-building-centos-cluster-no-admin-rights.html)

CKH November 10, 2011 23:12

Problem Building OF on Centos cluster (no admin rights)
 
2 Attachment(s)
Hi there,

I'm trying to manually compile OpenFOAM on a Centos 5.5 cluster. I've tried to follow the excellent threads posted by Bruno and the detailed instructions found at the followng link: http://www.tfd.chalmers.se/~hani/kur...sAndTricks.htm (albeit correcting for minor typos).

Basically, I've compiled gcc-4.5.1 (the default on the cluster is 4.1 and the "preview" version of gcc44 is gcc-4.4.0) and flex-2.5.35. I've changed the lines in etc/bashrc and settings.sh to point to my installation directory and where the 3rd party gcc and flex are. I've also appended a line to the various Make/Options files to point to the new flex, as per the link above. Despite the above, I'm still running into errors and I'm out of ideas what else to do.

I've attached the log file for Allwmake (from the main /OpenFOAM-2.0.1). Grateful if anyone could help.

KH

edit: I did a wcleanall and repeated the whole process and after a bit of grepping around the new log_allwmake, i find the following:

Code:

[atlas6-c01]$ grep "cannot" log_allwmake
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ltriSurface
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -linterfaceProperties
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleTurbulenceModel
/usr/bin/ld: cannot find -lincompressibleTurbulenceModel
/usr/bin/ld: cannot find -lbasicSolidThermo
/usr/bin/ld: cannot find -lcompressibleTurbulenceModel
/usr/bin/ld: cannot find -lcompressibleTurbulenceModel
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lregionModels
/usr/bin/ld: cannot find -lregionModels
/usr/bin/ld: cannot find -lregionModels
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -llagrangian
/usr/bin/ld: cannot find -llagrangian
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleTransportModels
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ltriSurface
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lconversion
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lconversion
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lblockMesh
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lextrudeModel
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ldynamicFvMesh
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lautoMesh
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ldynamicMesh
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -llagrangian
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lgenericPatchFields
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -llagrangian
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleTransportModels
/usr/bin/ld: cannot find -lsampling
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleRASModels
/usr/bin/ld: cannot find -lincompressibleRASModels
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleTransportModels
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleRASModels
/usr/bin/ld: cannot find -lincompressibleLESModels
/usr/bin/ld: cannot find -lincompressibleTransportModels
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleRASModels
/usr/bin/ld: cannot find -lrandomProcesses
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lsampling
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ltabulatedWallFunctions
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -ltriSurface
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lengine
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lsampling
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lmeshTools
/usr/bin/ld: cannot find -lbasicThermophysicalModels
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleRASModels
/usr/bin/ld: cannot find -lincompressibleTurbulenceModel
/usr/bin/ld: cannot find -lincompressibleLESModels
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleTransportModels
/usr/bin/ld: cannot find -lincompressibleTransportModels
/usr/bin/ld: cannot find -ldynamicFvMesh
/usr/bin/ld: cannot find -lincompressibleTurbulenceModel
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleTurbulenceModel
/usr/bin/ld: cannot find -lincompressibleRASModels
/usr/bin/ld: cannot find -lincompressibleRASModels
/usr/bin/ld: cannot find -lincompressibleRASModels
/usr/bin/ld: cannot find -lincompressibleTurbulenceModel
/usr/bin/ld: cannot find -llagrangian
/usr/bin/ld: cannot find -llagrangian
/usr/bin/ld: cannot find -llagrangian
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lincompressibleTransportModels
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -linterfaceProperties
/usr/bin/ld: cannot find -lmultiphaseInterFoam
/usr/bin/ld: cannot find -lmultiphaseInterFoam
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -ltwoPhaseInterfaceProperties
/usr/bin/ld: cannot find -lincompressibleTransportModels
/usr/bin/ld: cannot find -lphaseModel
/usr/bin/ld: cannot find -lEulerianInterfacialModels
/usr/bin/ld: cannot find -lfiniteVolume
/usr/bin/ld: cannot find -lfiniteVolume

I believe it's due to a build/compile path not properly specified, but I've looked into etc/bashrc, aliases.sh and settings.sh and could not find anything... hope someone out there can give me a clue on where else to look...

linnemann November 11, 2011 02:45

Hi

Make sure you have the following packages installed, ask your admin.

gcc gcc-c++ bison ncurses-devel tix.x86_64 glibc-devel flex flex-devel zlib-devel libXt-devel binutils-devel


I had a similar problem and it was the binutils-devel which caused the problems for me.

CKH November 11, 2011 03:25

Hi Niels,

Thanks a lot for the quick response...I've queried the system (i.e. rpm -qa | grep packagename) and found the following:
- binutils-2.17.50.0.6-14.el5
- gcc-c++-4.1.2-48.el5
- bison-2.3-2.1
- ncurses-devel-5.5-24.20060715
- libXt-devel-1.0.2-3.2.el5
- zlib-devel-1.2.3-3
- glibc-devel-2.5-49.el5_5.7

I didn't get any output for binutils-devel, flex-devel and tix.x86_64 so I suppose these packages are not on the cluster.

As for gcc and flex, I've already built gcc-4.5.1 and flex-2.5.35 in the $WM_THIRD_PARRY_DIR. After your post, I've googled around and found your earlier advice http://www.cfd-online.com/Forums/openfoam-installation/67676-openfoam-1-6-x-centos-5-3-x86_64-a-3.html.

However, I've tried but I don't think I have the admin rights to install packages via rpm...is there another way to build the 3 missing packages from source and pointing openfoam to them?

Thank you once again.

linnemann November 11, 2011 04:01

Hi

Yes you certainly can.

You just need to compile them and then link to them by putting this in your openfoam bashrc at the end (or in your $HOME/.bashrc), one line for each library.

export LD_LIBRARY_PATH=/path/to/the/lib/files:$LD_LIBRARY_PATH

CKH November 13, 2011 03:28

[Partially Solved] Now Cmake build problems....
 
1 Attachment(s)
I've managed to install OpenFOAM on the server and here are my steps (for anyone who will find it useful):

1) Download and untar the source pack as per instructions on the OpenFOAM website: http://www.openfoam.com/download/source.php

2) Follow instructions on the above link to modify the your $HOME/.bashrc file by adding lines (under an alias):
(i) to change the installation directory to the correct target, and
(ii) source the /path/to/target/directory/OpenFOAM/OpenFOAM-2.0.1/etc/bashrc
, i.e.
Code:

alias OF201='export FOAM_INST_DIR=/path/to/target/directory/OpenFOAM; foamDotFile=$FOAM_INST_DIR/OpenFOAM-2.0.1/etc/bashrc; [ -f $foamDotFile ] && . $foamDotFile; source $FOAM_INST_DIR/OpenFOAM-2.0.1/etc/bashrc'
3) Follow the instructions here: http://www.cfd-online.com/Forums/blo...-7-series.html to build gcc, mpc, mpfr, bintuils, gmp and make. Follow the above instructions to change the package version numbers in settings.sh (but make sure the version numbers of the packages are correct). However, note that settings.sh is now at "OpenFOAM-2.0.1/etc/config/settings.sh. To point to the new gcc that I'm going to install, I've change the line in the OpenFOAM-2.0.1/etc/bashrc file from:
Code:

foamCompiler=system
to
Code:

foamCompiler=ThirdParty
3a) I'm not sure if this is still necessary, but i've also added a file OpenFOAM-2.0.1/etc/prefs.sh with the following lines:
Code:

foamCompiler=ThirdParty
WM_COMPILER=Gcc45

3b) Execute the buildGcc4X

4) Follow the instructions in this post http://www.cfd-online.com/Forums/ope...tml#post316084 to build a new copy of flex

5) Run the OpenFOAM-2.0.1/Allwmake file!

Now that I've gotten the main OpenFOAM installed, I'm trying to build a new copy of cmake, qmake and Qt (none on my cluster) in order to install paraview...

I've downloaded Qteverywhere and ran makeQt which seems ok.. however, qmake doesn't seemed to be created...could I be missing a step??

Also, when I run makeCmake, I get error messages like the following:

Code:

undefined reference to `std::_List_node_base::_M_transfer(std::_List_node_base*, std::_List_node_base*)'
collect2: ld returned 1 exit status
make[2]: *** [bin/ccmake] Error 1
make[1]: *** [Source/CMakeFiles/ccmake.dir/all] Error 2

I believe it could be due to some directory pointer error in the makeCmake script, but i can't figure it out....

Hope someone will be able to give me some clue about the makeCmake error and how to get qmake....

Thank you in advance!

CKH November 13, 2011 07:32

Cmake [Partial solution again]
 
Ok I've managed to build cmake manually: by looking at the $WM_THRID_PARTY_DIR/etc/Tools/ThirdPartytools script and the makeCmake script and figuring out which --prefix directory to run the bootstrap, then followed by the usual make and make install. It is really strange that the script doesn't work while manually following the script does...

Anyway, for the qmake, I manage to figure out that I just needed to add the proper PATH pointing to qmake. I've added it in etc/config/paraview.sh, although I suspect that it should work under bashrc or settings.sh.

Now paraview is building and my next step will be to hopefully get the native OpenFOAM reader for paraview up and running. I will try to post my steps for anyone who may find it useful.


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