CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Bugs (
-   -   Install doesnbt work (

hplum August 9, 2007 11:14

I'm a newcomer, Intel GmbH Ger
I'm a newcomer, Intel GmbH Germany, wanting to use OpenFOAM as Cluster benchmark

Using the install "Allwmake", always runs into
template definition problems (g++ or Intel icpc)

Using g++

SOURCE=fvMeshDistribute/fvMeshDistribute.C ; g++ -m32 -Dlinux -DDP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-pa
rameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-40 -I/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/finiteVolu
me/lnInclude -I/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/meshTools/lnInclude -I/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/
triSurface/lnInclude -IlnInclude -I. -I/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -fPIC -pthread -c
$SOURCE -o Make/linuxGccDPOpt/fvMeshDistribute.o
In file included from fvMeshDistribute/fvMeshDistribute.H:397,
from fvMeshDistribute/fvMeshDistribute.C:30:
fvMeshDistribute/fvMeshDistributeTemplates.C: In static member function `static void Foam::fvMeshDistribute::sendFiel
ds(Foam::label, const Foam::wordList&, const Foam::fvMeshSubset&)':
fvMeshDistribute/fvMeshDistributeTemplates.C:299: error: expected primary-expression before '>' token
make: *** [Make/linuxGccDPOpt/fvMeshDistribute.o] Error 1

usinf Intel icpc

SOURCE=motionSmoother/motionSmoother.C ; icpc -Dlinux -DDP -wd654,819,1125,1476,1505,1572 -ansi-alias -O3 -ftz -fno-
alias -fargument-noalias-global -unroll0 -DNoRepository -I/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/finiteVolume/lnInc
lude -I/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/meshTools/lnInclude -I/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/triSurfa
ce/lnInclude -IlnInclude -I. -I/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude -KPIC -c $SOURCE -o Make/
/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/FieldFieldFunctions.C (832): error: no instance of overload
ed function "Foam::outer" matches the argument list
argument types are: (Foam::pointPatchField<foam::vector>, const Foam::pointPatchField<foam::scalar>, cons
t Foam::pointPatchField<foam::vector>)
PRODUCT_OPERATOR(outerProduct, *, outer)
detected during:
instantiation of "void Foam::outer(Foam::FieldField<field,>::type> &, con
st Foam::FieldField<field,> &, const Foam::FieldField<field,> &) [with Field=Foam::pointPatchField, Type1=
Foam::FieldField<foam::pointpatchfield,>::cmptType ={Foam::VectorSpace<Foam::Vect or<Foam::scalar={Foam::d
oubleScalar={double}}>, Foam::scalar={Foam::doubleScalar={double}}, 3>::cmptType={Foam::scalar={Foam::doubleScalar={d
ouble}}}}, Type2=Foam::vector]"
at line 952 of "/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/GeometricFieldFuncti
instantiation of "void Foam::outer(Foam::GeometricField<foam::outerproduc t<type1,>::type, PatchFiel
d, GeoMesh> &, const Foam::GeometricField<typer,> &, const Foam::GeometricField<Type1, PatchField
, GeoMesh> &) [with Type1=Foam::scalar={Foam::doubleScalar={double}}, Type2=Foam::vector, PatchField=Foam::pointPatch
Field, GeoMesh=Foam::pointMesh]" at line 952 of "/home/hplum/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/Geometric
instantiation of "Foam::tmp<foam::geometricfield<foam::outerproduct <type1,>::type, PatchField, GeoM
esh>> Foam::operator*(const Foam::GeometricField<typer,> &, const Foam::GeometricField<Type1, Pat
chField, GeoMesh> &) [with Type1=Foam::scalar={Foam::doubleScalar={double}}, Type2=Foam::vector, PatchField=Foam::poi
ntPatchField, GeoMesh=Foam::pointMesh]"

compilation aborted for motionSmoother/motionSmoother.C (code 2)

gschaider August 9, 2007 11:37

Which version of g++ are you u
Which version of g++ are you using?

hplum August 9, 2007 11:55

g++ 3.4.4. In the end, I'm
g++ 3.4.4.

In the end, I'm after using icpc (Intel's C++);
here I'm using V 9.1 and also getting template
definition problems, see message above.

gschaider August 13, 2007 06:11

I don't have experience with c
I don't have experience with current OpenFOAM-versions and 3.x-series of the GNU compilers (I'm using 4.0.1 on my Mac and the distributed version (==4.1) on Linux). From what I've heard your lucky if OF compiles with a 3.x-compiler.

About Intel 9.1: see the release-notes for OpenFOAM 1.4 (that's all the information I have about that)

henry August 13, 2007 06:18

We haven't compiled OpenFOAM w
We haven't compiled OpenFOAM with gcc-3.4.? for sometime so there may be minor problems. We release gcc-4.2.? with OpenFOAM and promote the use of this compiler development.

I have just compiled our OpenFOAM-1.4.2 development version with icpc-10.0 and there were minor problems with compiling a few source files which may also be a problem with OpenFOAM-1.4.1, I will post the fixes shortly.

mattijs August 13, 2007 06:20

You'll need >4 for gcc version
You'll need >4 for gcc version. Intel compiler version 10 has been reported to work ok.

henry August 13, 2007 17:30

There is some unnecessary temp
There is some unnecessary templating in pointPatchFieldFunctions.H which appears to be confusing the Intel C++ compiler, here is a fixed version pointPatchFieldFunctions.H to replace OpenFOAM-1.4.1/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldFunctions.H which I have tested with icpc-10.0 and now I get a complete clean build with that compiler.

hplum August 14, 2007 04:45

Henry, thanks, I'll immedia

thanks, I'll immediately give it a try

All times are GMT -4. The time now is 10:42.