View Issue Details

IDProjectCategoryView StatusLast Update
0000257OpenFOAMBugpublic2011-07-19 15:27
Reporteruser48Assigned Tohenry  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
PlatformLinux 64OSCentOSOS Version5.6
Summary0000257: src/OpenFOAM does not compile with Intel compiler
DescriptionThe src/OpenFOAM directory does not compile with the Intel compiler (see the attached file for the specific error message). Of course, this prevents the whole code to compile properly.
Steps To ReproduceIn $HOME/OpenFOAM/site/2.0.x/prefs.sh :

    export WM_COMPILER=Icc
    export WM_MPLIB=SYSTEMOPENMPI

Then :
    wmSET
    foam
    ./Allwmake
Additional InformationIntel compiler version : 11.1.059
Open MPI version : 1.4.3
OpenFOAM build : 2.0.x-d68c80b7681f

OpenFOAM-1.7.x compiles properly on the same system with the same compiler and Open MPI.
TagsNo tags attached.

Activities

user48

2011-07-19 15:05

 

error.txt (4,980 bytes)   
SOURCE=meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C ;  icpc -std=c++0x -Dlinux64 -DWM_DP -wd327,654,819,1125,1476,1505,1572 -xSSE3 -O1 -no-prec-div  -DNoRepository -IMake/linux64IccDPOpt -IlnInclude -I. -I/home/maoli24/OpenFOAM/OpenFOAM-2.0.x/src/OpenFOAM/lnInclude -I/home/maoli24/OpenFOAM/OpenFOAM-2.0.x/src/OSspecific/POSIX/lnInclude   -fPIC -c $SOURCE -o Make/linux64IccDPOpt/polyMeshTetDecomposition.o
lnInclude/syncToolsTemplates.C(1355): error: more than one user-defined conversion from "Foam::SubField<Foam::vector>" to "Foam::Field<Foam::vector>" applies:
            function "Foam::SubField<Type>::operator const Foam::Field<Type> &() const [with Type=Foam::vector]"
            function "Foam::Field<Type>::Field(const Foam::SubField<Type> &) [with Type=Foam::vector]"
                  Field<T> ownVals = SubField<T>(faceValues, sz, ownStart);
                                     ^
          detected during:
            instantiation of "void Foam::syncTools::syncBoundaryFaceList(const Foam::polyMesh &, Foam::UList<T> &, const CombineOp &, const TransformOp &) [with T=Foam::vector, CombineOp=Foam::eqOp<Foam::vector>, TransformOp=Foam::mapDistribute::transformPosition]" at line 401 of "lnInclude/syncTools.H"
            instantiation of "void Foam::syncTools::swapBoundaryFacePositions(const Foam::polyMesh &, Foam::UList<T> &) [with T=Foam::vector]" at line 234 of "meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C"

lnInclude/syncToolsTemplates.C(1358): error: more than one user-defined conversion from "Foam::SubField<Foam::vector>" to "Foam::Field<Foam::vector>" applies:
            function "Foam::SubField<Type>::operator const Foam::Field<Type> &() const [with Type=Foam::vector]"
            function "Foam::Field<Type>::Field(const Foam::SubField<Type> &) [with Type=Foam::vector]"
                  Field<T> nbrVals = SubField<T>(faceValues, sz, nbrStart);
                                     ^
          detected during:
            instantiation of "void Foam::syncTools::syncBoundaryFaceList(const Foam::polyMesh &, Foam::UList<T> &, const CombineOp &, const TransformOp &) [with T=Foam::vector, CombineOp=Foam::eqOp<Foam::vector>, TransformOp=Foam::mapDistribute::transformPosition]" at line 401 of "lnInclude/syncTools.H"
            instantiation of "void Foam::syncTools::swapBoundaryFacePositions(const Foam::polyMesh &, Foam::UList<T> &) [with T=Foam::vector]" at line 234 of "meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C"

lnInclude/syncToolsTemplates.C(1355): error: more than one user-defined conversion from "Foam::SubField<Foam::label={int}>" to "Foam::Field<Foam::label={int}>" applies:
            function "Foam::SubField<Type>::operator const Foam::Field<Type> &() const [with Type=Foam::label={int}]"
            function "Foam::Field<Type>::Field(const Foam::SubField<Type> &) [with Type=Foam::label={int}]"
                  Field<T> ownVals = SubField<T>(faceValues, sz, ownStart);
                                     ^
          detected during:
            instantiation of "void Foam::syncTools::syncBoundaryFaceList(const Foam::polyMesh &, Foam::UList<T> &, const CombineOp &, const TransformOp &) [with T=Foam::label={int}, CombineOp=Foam::maxEqOp<Foam::label={int}>, TransformOp=Foam::mapDistribute::transform]" at line 300 of "lnInclude/syncTools.H"
            instantiation of "void Foam::syncTools::syncBoundaryFaceList(const Foam::polyMesh &, Foam::UList<T> &, const CombineOp &) [with T=Foam::label={int}, CombineOp=Foam::maxEqOp<Foam::label={int}>]" at line 293 of "meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C"

lnInclude/syncToolsTemplates.C(1358): error: more than one user-defined conversion from "Foam::SubField<Foam::label={int}>" to "Foam::Field<Foam::label={int}>" applies:
            function "Foam::SubField<Type>::operator const Foam::Field<Type> &() const [with Type=Foam::label={int}]"
            function "Foam::Field<Type>::Field(const Foam::SubField<Type> &) [with Type=Foam::label={int}]"
                  Field<T> nbrVals = SubField<T>(faceValues, sz, nbrStart);
                                     ^
          detected during:
            instantiation of "void Foam::syncTools::syncBoundaryFaceList(const Foam::polyMesh &, Foam::UList<T> &, const CombineOp &, const TransformOp &) [with T=Foam::label={int}, CombineOp=Foam::maxEqOp<Foam::label={int}>, TransformOp=Foam::mapDistribute::transform]" at line 300 of "lnInclude/syncTools.H"
            instantiation of "void Foam::syncTools::syncBoundaryFaceList(const Foam::polyMesh &, Foam::UList<T> &, const CombineOp &) [with T=Foam::label={int}, CombineOp=Foam::maxEqOp<Foam::label={int}>]" at line 293 of "meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C"

compilation aborted for meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C (code 2)
make: *** [Make/linux64IccDPOpt/polyMeshTetDecomposition.o] Error 2

error.txt (4,980 bytes)   

henry

2011-07-19 15:27

manager   ~0000571

Intel compiler version : 11.1.059 is not supported for compiling OpenFOAM-2.0.x due to the need to support recent gcc and clang releases and keep up with the ever-changing interpretation of template specialisation.

OpenFOAM-2.0.x has been tested with the Intel compiler version 12.0.3.

Issue History

Date Modified Username Field Change
2011-07-19 15:05 user48 New Issue
2011-07-19 15:05 user48 File Added: error.txt
2011-07-19 15:27 henry Note Added: 0000571
2011-07-19 15:27 henry Status new => closed
2011-07-19 15:27 henry Assigned To => henry
2011-07-19 15:27 henry Resolution open => fixed