CFDEM compliling error

Submitted by zengjunsheng on Sat, 10/19/2013 - 17:35

Everything goes well before I type "cfdemCompCFDEM" in the terminal. I can run both OpenFOAM examples and LIGGGHTS examples successfully.
But errors occur during the CFDEM compiling below:
##################################################################
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H: In member function ‘const T& Foam::autoPtr::operator()() const [with T = Foam::clockModel]’:
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H:163:23: instantiated from ‘Foam::autoPtr::operator const T&() const [with T = Foam::clockModel]’
/home/ciel/CFDEM/CFDEMcoupling-PUBLIC-2.2.x/src/lagrangian/cfdemParticle/lnInclude/cfdemCloudI.H:192:12: instantiated from here
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H:150:9: error: invalid use of incomplete type ‘struct Foam::clockModel’
/home/ciel/CFDEM/CFDEMcoupling-PUBLIC-2.2.x/src/lagrangian/cfdemParticle/lnInclude/cfdemCloud.H:69:7: error: forward declaration of ‘struct Foam::clockModel’
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H: In member function ‘const T& Foam::autoPtr::operator()() const [with T = Foam::smoothingModel]’:
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H:163:23: instantiated from ‘Foam::autoPtr::operator const T&() const [with T = Foam::smoothingModel]’
/home/ciel/CFDEM/CFDEMcoupling-PUBLIC-2.2.x/src/lagrangian/cfdemParticle/lnInclude/cfdemCloudI.H:197:12: instantiated from here
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H:150:9: error: invalid use of incomplete type ‘struct Foam::smoothingModel’
/home/ciel/CFDEM/CFDEMcoupling-PUBLIC-2.2.x/src/lagrangian/cfdemParticle/lnInclude/cfdemCloud.H:70:7: error: forward declaration of ‘struct Foam::smoothingModel’
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H: In member function ‘const T& Foam::autoPtr::operator()() const [with T = Foam::meshMotionModel]’:
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H:163:23: instantiated from ‘Foam::autoPtr::operator const T&() const [with T = Foam::meshMotionModel]’
/home/ciel/CFDEM/CFDEMcoupling-PUBLIC-2.2.x/src/lagrangian/cfdemParticle/lnInclude/cfdemCloudI.H:202:12: instantiated from here
/home/ciel/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/autoPtrI.H:150:9: error: invalid use of incomplete type ‘struct Foam::meshMotionModel’
/home/ciel/CFDEM/CFDEMcoupling-PUBLIC-2.2.x/src/lagrangian/cfdemParticle/lnInclude/cfdemCloud.H:72:7: error: forward declaration of ‘struct Foam::meshMotionModel’
make: *** [Make/linuxGccDPOpt/cfdemPostproc.o] Error 1
########################################################################

I don't know what's wrong with the problem, I appreciate your help.

richti83's picture

richti83 | Wed, 10/23/2013 - 20:48

I have the same problem with a fresh install (following the instructions from download-page) on a new system
Ubuntu 12.04 and 13.10 does not work.
OpenFoam works fine
LIGGGHTS works fine.
BUT
cfdemCompCFDEM complains at the beginning:

could not open file RASModel.H for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file sys/stat.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file limits.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file stdint.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file inttypes.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file erf.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file direct.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file math.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file sleep.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file omp.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file openmpi/ompi/mpi/cxx/mpicxx.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C
could not open file stdio.h for source file subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C

and at the end with the same error like the above.

I don't understand why it can not find the standard headers, bc they ARE in /usr/include:

ls -lh limits.h
-rw-r--r-- 1 root root 4,5K Okt 12 06:49 limits.h

Where is the Include Path for cfdemCompCFDEM set ?

Thanks,
Christian

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
but I have 7 years user experience using LIGGGHTS®, ParaView and LINUX

zengjunsheng | Sat, 10/26/2013 - 09:57

Thanks anyway.
I've reinstalled OpenFOAM-2.2.1 instead of OpenFOAM-2.2.x, and after that all compilations worked well.
Maybe it's the version problem, but it's really boring to reinstall OpenFOAM again and again.
Sincerely,
ZengJunsheng

richti83's picture

richti83 | Mon, 10/28/2013 - 20:13

... I did not notice that the git repo is version 2.2.2 and cfdem needs 2.2.1. After using the Source Pack Installation Procedure and downloading open-foam-2.2.1.tar.gz compiling of cfdem-coupling worked well.
Thank you very much for this hint.

Christian.

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
but I have 7 years user experience using LIGGGHTS®, ParaView and LINUX