View Issue Details

IDProjectCategoryView StatusLast Update
0000598OpenFOAMBugpublic2012-07-27 16:20
Reporteruser478Assigned Tohenry  
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSOtherOS Version(please specify)
Summary0000598: Compilation using Intel compiler fails with solidEquilibriumDisplacementFoam
DescriptionCompiling 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 Reproduce1. Set icpc and intel_ompi as compiler and mpi libraries.
2. Compile at folder applications/solvers/stressAnalysis/solidDisplacementFoam
Additional InformationAn 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.
TagsNo tags attached.

Relationships

has duplicate 0000602 closeduser2 IOobject EIO: identifier collision with system define 

Activities

henry

2012-07-25 09:45

manager   ~0001498

Last edited: 2012-07-25 09:46

Resolved by commit 1f6596eb3b98d7b1543ee4d90cff835468000e4e

Issue History

Date Modified Username Field Change
2012-07-25 00:11 user478 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 user2 Relationship added has duplicate 0000602