View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000598 | OpenFOAM | Bug | public | 2012-07-25 00:11 | 2012-07-27 16:20 |
Reporter | Assigned To | henry | |||
Priority | low | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Linux | OS | Other | OS Version | (please specify) |
Summary | 0000598: Compilation using Intel compiler fails with solidEquilibriumDisplacementFoam | ||||
Description | Compiling process of OF 2.1.1 using the Intel(R) C++ Compiler XE (icpc version 12.1.2 (gcc version 4.5.2 compatibility), executing Allwmake at top level, fails when it reaches solidEquilibriumDisplacementFoam. Error messages are: readMechanicalProperties.H(78): error: expected an identifier IOobject EIO("E", ^ readMechanicalProperties.H(78): error: expected a type specifier IOobject EIO("E", ^ readMechanicalProperties.H(79): error: variable "runTime" is not a type name runTime.timeName(0), ^ readMechanicalProperties.H(79): error: expected a ")" runTime.timeName(0), ^ readMechanicalProperties.H(83): warning #12: parsing restarts here after previous syntax error ); ^ readMechanicalProperties.H(92): error: no instance of constructor "Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField [with Type=Foam::scalar={Foam::doubleScalar={double}}, PatchField=Foam::fvPatchField, GeoMesh=Foam::volMesh]" matches the argument list argument types are: (int, Foam::fvMesh, Foam::dimensionedScalar, const Foam::word) ( ^ readMechanicalProperties.H(107): error: expression must have class type EIO.readOpt() = IOobject::MUST_READ; ^ readMechanicalProperties.H(112): error: no instance of constructor "Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField [with Type=Foam::scalar={Foam::doubleScalar={double}}, PatchField=Foam::fvPatchField, GeoMesh=Foam::volMesh]" matches the argument list argument types are: (int, Foam::fvMesh) ( ^ make[2]: `/home/esrhaq/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64IccDPOpt/bin/MRFMultiphaseInterFoam' is up to date. '/home/esrhaq/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64IccDPOpt/lib/libEulerianInterfacialModels.so' is up to date. + wmake libso kineticTheoryModels '/home/esrhaq/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64IccDPOpt/lib/libcompressibleMultiphaseKineticTheoryModel.so' is up to date. + wmake ../solidDisplacementFoam/readMechanicalProperties.H(78): error: expected an identifier IOobject EIO("E", ^ ../solidDisplacementFoam/readMechanicalProperties.H(78): error: expected a type specifier IOobject EIO("E", ^ ../solidDisplacementFoam/readMechanicalProperties.H(79): error: variable "runTime" is not a type name runTime.timeName(0), ^ ../solidDisplacementFoam/readMechanicalProperties.H(79): error: expected a ")" runTime.timeName(0), ^ ../solidDisplacementFoam/readMechanicalProperties.H(83): warning #12: parsing restarts here after previous syntax error ); ^ ../solidDisplacementFoam/readMechanicalProperties.H(92): error: no instance of constructor "Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField [with Type=Foam::scalar={Foam::doubleScalar={double}}, PatchField=Foam::fvPatchField, GeoMesh=Foam::volMesh]" matches the argument list argument types are: (int, Foam::fvMesh, Foam::dimensionedScalar, const Foam::word) ( ^ ../solidDisplacementFoam/readMechanicalProperties.H(107): error: expression must have class type EIO.readOpt() = IOobject::MUST_READ; ^ ../solidDisplacementFoam/readMechanicalProperties.H(112): error: no instance of constructor "Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField [with Type=Foam::scalar={Foam::doubleScalar={double}}, PatchField=Foam::fvPatchField, GeoMesh=Foam::volMesh]" matches the argument list argument types are: (int, Foam::fvMesh) ( ^ make[2]: `/home/esrhaq/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64IccDPOpt/bin/multiphaseEulerFoam' is up to date. '/home/esrhaq/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64IccDPOpt/lib/libkineticTheoryModel.so' is up to date. + wmake make[2]: `/home/esrhaq/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64IccDPOpt/bin/twoPhaseEulerFoam' is up to date. compilation aborted for solidEquilibriumDisplacementFoam.C (code 2) make[2]: *** [Make/linux64IccDPOpt/solidEquilibriumDisplacementFoam.o] Error 2 make[2]: Target `/home/esrhaq/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64IccDPOpt/bin/solidEquilibriumDisplacementFoam' not remade because of errors. make[1]: *** [solidEquilibriumDisplacementFoam] Error 2 compilation aborted for solidDisplacementFoam.C (code 2) | ||||
Steps To Reproduce | 1. Set icpc and intel_ompi as compiler and mpi libraries. 2. Compile at folder applications/solvers/stressAnalysis/solidDisplacementFoam | ||||
Additional Information | An easy solution to correct this was to rename the IOobject EIO as EeIO in the file readMechanicalProperties.H, and then compilation finished without any warnings or errors. I also ran the tutorial case for this solver solidDisplacementFoam, and it finished without problems. | ||||
Tags | No tags attached. | ||||
has duplicate | 0000602 | closed | IOobject EIO: identifier collision with system define |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-07-25 00:11 |
|
New Issue | |
2012-07-25 09:45 | henry | Note Added: 0001498 | |
2012-07-25 09:45 | henry | Status | new => resolved |
2012-07-25 09:45 | henry | Resolution | open => fixed |
2012-07-25 09:45 | henry | Assigned To | => henry |
2012-07-25 09:46 | henry | Note Edited: 0001498 | |
2012-07-27 16:20 |
|
Relationship added | has duplicate 0000602 |