Using pre-built binaries
Does not work as SuSE SLES10SP1 is too different …; one very strange thing is that the gcc-4.3.1 included in the ThridParty packages does work in 32-bit but complains about an incompatible library in 64-bit mode although the library is a correct 64-bit *.so
Building from sources using the Intel Compiler (10.1)
Fails due to problems with C++ templates, etc.
Building gcc-4.3.x manually
Has too many dependencies to quickly do it (MPFR and GNUMP – the SuSE SLES10SP1 versions are too old)
Building from sources using gcc-4.2.2
Requires a patch for autoRefineDriver.C to avoid fatal “invalid conversion” error message; cf. http://openfoam.cfd-online.com/cgi-bin/forum/show.cgi?tpc=126&post=24786)
Some general tricks
- use WM_COMPILER_INST=System to specify that the system’s gcc should be used and not one which is part of OpenFOAM
- use WM_NCOMPPROCS to specify the number of CPUs on which make may run concurrently (i.e. the value for make’s -j parameter)
- at least for building ParaView, cmake (and of course Qt-4.3.x) must be available; it is likely that PV3FoamReader must be compiled afterwards (cf. OF-Readme) and it also depends on cmake
- when building ParaView, CMAKE_HOME and W_COMPILER_DIR must be set as some sed commands fail otherwise
Well, too sad, OF-1.7.1 with Intel 11.1.072 compilers still suffers from the very same problem:
derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C(44): error: member "Foam::NamedEnum::names [with num=Foam::compressible::turbulentHeatFluxTemperatureFvPatchScalarField::heatSourceType, nEnum=2]" cannot be specialized in the current scope
names[] =
The fix from http://www.cfd-online.com/Forums/openfoam-installation/73040-error-compiling-openfoam-1-6-x-intel-compiler-icc.html#post247360 still works fine. Thus, edit
src/turbulenceModels/compressible/RAS/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
.The incompatibilities of OpenFOAM with the Intel compilers seem to be well known and a long story. I’m no longer sure what error messages I got in 2008 when trying to compile OF-1.5 with the Intel compilers, but the following postings might be of interest although they refer to OF-1.6; also a recent post about OF-1.7 refers to them.
http://www.cfd-online.com/Forums/openfoam-installation/73040-error-compiling-openfoam-1-6-x-intel-compiler-icc.html
http://stackoverflow.com/questions/1470654
A different message suggests that version 11.1 of the Intel compilers solved all these issues without the need for manual code changes.
I did not try or verify any of these suggestions (yet) – but I might try compiling OF-1.7 with the Intel compiler …