2016-09-27 06:32 BST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000257OpenFOAM[All Projects] Bugpublic2011-07-19 15:27
Reportermathieu 
Assigned Tohenry 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformLinux 64OSCentOSOS Version5.6
Product Version 
Target VersionFixed in Version 
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.
Attached Files
  • txt file icon error.txt (4,980 bytes) 2011-07-19 15:05 -
    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
    
    
    txt file icon error.txt (4,980 bytes) 2011-07-19 15:05 +

-Relationships
+Relationships

-Notes

~0000571

henry (manager)

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.
+Notes

-Issue History
Date Modified Username Field Change
2011-07-19 15:05 mathieu New Issue
2011-07-19 15:05 mathieu 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
+Issue History