View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000257 | OpenFOAM | Bug | public | 2011-07-19 15:05 | 2011-07-19 15:27 |
Reporter | Assigned To | henry | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux 64 | OS | CentOS | OS Version | 5.6 |
Summary | 0000257: src/OpenFOAM does not compile with Intel compiler | ||||
Description | The 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 Reproduce | In $HOME/OpenFOAM/site/2.0.x/prefs.sh : export WM_COMPILER=Icc export WM_MPLIB=SYSTEMOPENMPI Then : wmSET foam ./Allwmake | ||||
Additional Information | Intel 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. | ||||
Tags | No tags attached. | ||||
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 |
|
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. |