It is very likely the lastest Chombo DOES NOT WORK with the latest PETSc. You need to try early versions of PETSc with that version of Chombo. Chombo should have this documented somewhere.
> On Dec 22, 2016, at 12:14 PM, Sharp Stone <[email protected]> wrote: > > Thanks, Matt! Both libraries are the latest, and I guess they are compatible > except for the path setups. I'm waiting for their reply. > > You are right. There's another file that needs to be modified. But the error > can't go away "PetscCompGrid.H:19:34: error: petsc/private/pcimpl.h: No such > file or directory". If you guys have any ideas, please let me know. > > Thank you very much! > > On Thu, Dec 22, 2016 at 1:07 PM, Matthew Knepley <[email protected]> wrote: > On Thu, Dec 22, 2016 at 11:54 AM, Sharp Stone <[email protected]> wrote: > Mat and Satish, > > Thank you for your replies. I'm using Chombo-3.2 + Petsc-3.7.4. I have not > yet received replies from Chombo. So I have to ask you guys to see if my > paths have been correctly set up. When I changed the #include > <petsc-private/pcimpl.h> to #include<petsc/private/pcimpl.h>, I still got the > errors "PetscCompGrid.H:19:34: error: petsc-private/pcimpl.h: No such file or > directory". Highly appreciate your help! > > Clearly there was another include. Satish is right that you need to get the > right version for Chombo. > > Matt > > On Thu, Dec 22, 2016 at 12:05 PM, Matthew Knepley <[email protected]> wrote: > On Thu, Dec 22, 2016 at 11:01 AM, Sharp Stone <[email protected]> wrote: > Dear folks, > > I'm now using Chombo with Petsc solver. When compiling the Chombo examples of > Petsc, I always got errors below. I wonder if anyone has such experience to > get rid of these. Thanks very much in advance! > > > In file included from PetscCompGrid.cpp:13: > PetscCompGrid.H:19:34: error: petsc-private/pcimpl.h: No such file or > directory > > You might have a version mismatch here. PETSc changed the directory structure > to conform better to the Linux standard > > $PETSC_DIR/include/petsc-private > > became > > $PETSC_DIR/include/petsc/private > > Thanks, > > Matt > > In file included from PetscCompGrid.cpp:13: > PetscCompGrid.H:55: error: ‘Mat’ does not name a type > PetscCompGrid.H:60: error: ‘PetscErrorCode’ does not name a type > PetscCompGrid.H:62: error: ‘PetscErrorCode’ does not name a type > PetscCompGrid.H:63: error: ‘PetscErrorCode’ does not name a type > PetscCompGrid.H:66: error: ‘PetscInt’ was not declared in this scope > PetscCompGrid.H:66: error: template argument 1 is invalid > PetscCompGrid.H:76: error: ‘PetscErrorCode’ does not name a type > PetscCompGrid.H:90: error: ‘PetscInt’ was not declared in this scope > PetscCompGrid.H:90: error: template argument 1 is invalid > PetscCompGrid.H:90: error: template argument 1 is invalid > PetscCompGrid.H:90: error: template argument 1 is invalid > PetscCompGrid.H:90: error: template argument 1 is invalid > PetscCompGrid.H:92: error: ‘PetscInt’ was not declared in this scope > PetscCompGrid.H:92: error: template argument 1 is invalid > PetscCompGrid.H:92: error: template argument 1 is invalid > PetscCompGrid.H:92: error: template argument 1 is invalid > PetscCompGrid.H:92: error: template argument 1 is invalid > PetscCompGrid.H:93: error: ‘PetscInt’ was not declared in this scope > PetscCompGrid.H:93: error: template argument 1 is invalid > PetscCompGrid.H:93: error: template argument 1 is invalid > PetscCompGrid.H:93: error: template argument 1 is invalid > PetscCompGrid.H:93: error: template argument 1 is invalid > PetscCompGrid.H:97: error: ‘Mat’ does not name a type > PetscCompGrid.H: In constructor ‘PetscCompGrid::PetscCompGrid(int)’: > PetscCompGrid.H:35: error: class ‘PetscCompGrid’ does not have any field > named ‘m_mat’ > PetscCompGrid.H: At global scope: > PetscCompGrid.H:138: error: ‘PetscReal’ does not name a type > PetscCompGrid.H:140: error: ISO C++ forbids declaration of ‘PetscReal’ with > no type > PetscCompGrid.H:140: error: expected ‘;’ before ‘*’ token > PetscCompGrid.cpp: In destructor ‘virtual CompBC::~CompBC()’: > PetscCompGrid.cpp:38: error: ‘m_Rcoefs’ was not declared in this scope > PetscCompGrid.cpp:38: error: ‘PetscFree’ was not declared in this scope > PetscCompGrid.cpp: In constructor ‘CompBC::CompBC(int, IntVect)’: > PetscCompGrid.cpp:41: error: class ‘CompBC’ does not have any field named > ‘m_Rcoefs’ > PetscCompGrid.cpp: In member function ‘void CompBC::define(int, IntVect)’: > PetscCompGrid.cpp:49: error: ‘m_Rcoefs’ was not declared in this scope > PetscCompGrid.cpp:49: error: ‘PetscFree’ was not declared in this scope > PetscCompGrid.cpp:54: error: ‘PetscReal’ was not declared in this scope > PetscCompGrid.cpp:54: error: ‘m_Rcoefs’ was not declared in this scope > PetscCompGrid.cpp:54: error: ‘PetscMalloc’ was not declared in this scope > PetscCompGrid.cpp: At global scope: > PetscCompGrid.cpp:59: error: ‘PetscReal’ does not name a type > PetscCompGrid.cpp: In member function ‘virtual void > ConstDiriBC::createCoefs()’: > PetscCompGrid.cpp:72: error: ‘m_Rcoefs’ was not declared in this scope > PetscCompGrid.cpp:77: error: ‘m_Rcoefs’ was not declared in this scope > PetscCompGrid.cpp:85: error: ‘m_Rcoefs’ was not declared in this scope > PetscCompGrid.cpp:93: error: ‘m_Rcoefs’ was not declared in this scope > PetscCompGrid.cpp: In member function ‘virtual void > ConstDiriBC::operator()(FArrayBox&, const Box&, const ProblemDomain&, Real, > bool)’: > PetscCompGrid.cpp:137: error: ‘m_Rcoefs’ was not declared in this scope > PetscCompGrid.cpp: In member function ‘virtual void PetscCompGrid::clean()’: > PetscCompGrid.cpp:154: error: ‘m_mat’ was not declared in this scope > PetscCompGrid.cpp:156: error: ‘MatDestroy’ was not declared in this scope > PetscCompGrid.cpp: In member function ‘virtual void > PetscCompGrid::define(const ProblemDomain&, Vector<DisjointBoxLayout>&, > Vector<int>&, BCHolder, const RealVect&, int, int)’: > PetscCompGrid.cpp:218: error: request for member ‘resize’ in > ‘((PetscCompGrid*)this)->PetscCompGrid::m_GIDs’, which is of non-class type > ‘int’ > PetscCompGrid.cpp:219: error: request for member ‘resize’ in > ‘((PetscCompGrid*)this)->PetscCompGrid::m_crsSupportGIDs’, which is of > non-class type ‘int’ > PetscCompGrid.cpp:220: error: request for member ‘resize’ in > ‘((PetscCompGrid*)this)->PetscCompGrid::m_fineCoverGIDs’, which is of > non-class type ‘int’ > PetscCompGrid.cpp:249: error: ‘PetscInt’ was not declared in this scope > PetscCompGrid.cpp:249: error: expected `;' before ‘my0’ > PetscCompGrid.cpp:256: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:256: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:256: error: template argument 1 is invalid > PetscCompGrid.cpp:256: error: template argument 1 is invalid > PetscCompGrid.cpp:256: error: template argument 1 is invalid > PetscCompGrid.cpp:257: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:257: error: template argument 1 is invalid > PetscCompGrid.cpp:257: error: template argument 1 is invalid > PetscCompGrid.cpp:257: error: new initializer expression list treated as > compound expression > PetscCompGrid.cpp:257: error: cannot convert ‘IntVect’ to ‘int’ in > initialization > PetscCompGrid.cpp:261: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:261: error: template argument 1 is invalid > PetscCompGrid.cpp:261: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:261: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:262: error: request for member ‘setVal’ in ‘gidfab’, which > is of non-class type ‘int’ > PetscCompGrid.cpp:276: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:281: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:288: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:288: error: template argument 1 is invalid > PetscCompGrid.cpp:288: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:288: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:295: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:295: error: template argument 1 is invalid > PetscCompGrid.cpp:295: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:295: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:299: error: ‘gidfab’ cannot be used as a function > PetscCompGrid.cpp:299: error: ‘my0’ was not declared in this scope > PetscCompGrid.cpp:308: error: ‘MPI_Comm’ was not declared in this scope > PetscCompGrid.cpp:308: error: expected `;' before ‘wcomm’ > PetscCompGrid.cpp:310: error: ‘wcomm’ was not declared in this scope > PetscCompGrid.cpp:310: error: ‘m_mat’ was not declared in this scope > PetscCompGrid.cpp:310: error: ‘MatCreate’ was not declared in this scope > PetscCompGrid.cpp:311: error: ‘my0’ was not declared in this scope > PetscCompGrid.cpp:311: error: ‘PETSC_DECIDE’ was not declared in this scope > PetscCompGrid.cpp:311: error: ‘MatSetSizes’ was not declared in this scope > PetscCompGrid.cpp:312: error: ‘MatSetBlockSize’ was not declared in this scope > PetscCompGrid.cpp:313: error: ‘MATAIJ’ was not declared in this scope > PetscCompGrid.cpp:313: error: ‘MatSetType’ was not declared in this scope > PetscCompGrid.cpp:314: error: ‘MatSetFromOptions’ was not declared in this > scope > PetscCompGrid.cpp:334: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:334: error: template argument 1 is invalid > PetscCompGrid.cpp:334: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:334: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:338: error: ‘gidfab’ cannot be used as a function > PetscCompGrid.cpp:338: error: ‘gidfab’ cannot be used as a function > PetscCompGrid.cpp:339: error: ‘gidfab’ cannot be used as a function > PetscCompGrid.cpp:342: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:348: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:350: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:350: error: template argument 1 is invalid > PetscCompGrid.cpp:350: error: template argument 1 is invalid > PetscCompGrid.cpp:350: error: invalid type in declaration before ‘;’ token > PetscCompGrid.cpp:358: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:358: error: template argument 1 is invalid > PetscCompGrid.cpp:358: error: template argument 1 is invalid > PetscCompGrid.cpp:358: error: new initializer expression list treated as > compound expression > PetscCompGrid.cpp:358: error: cannot convert ‘const IntVect’ to ‘int’ in > initialization > PetscCompGrid.cpp:359: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:359: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:359: error: template argument 1 is invalid > PetscCompGrid.cpp:359: error: template argument 1 is invalid > PetscCompGrid.cpp:359: error: template argument 1 is invalid > PetscCompGrid.cpp:363: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:363: error: template argument 1 is invalid > PetscCompGrid.cpp:363: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:363: error: no match for ‘operator[]’ in ‘* pl[dit]’ > PetscCompGrid.cpp:364: error: request for member ‘setVal’ in ‘gidfab’, which > is of non-class type ‘int’ > PetscCompGrid.cpp:367: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:367: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:379: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:379: error: template argument 1 is invalid > PetscCompGrid.cpp:379: error: template argument 1 is invalid > PetscCompGrid.cpp:379: error: new initializer expression list treated as > compound expression > PetscCompGrid.cpp:379: error: cannot convert ‘const IntVect’ to ‘int’ in > initialization > PetscCompGrid.cpp:380: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:380: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:380: error: template argument 1 is invalid > PetscCompGrid.cpp:380: error: template argument 1 is invalid > PetscCompGrid.cpp:380: error: template argument 1 is invalid > PetscCompGrid.cpp:384: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:384: error: template argument 1 is invalid > PetscCompGrid.cpp:384: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:384: error: no match for ‘operator[]’ in ‘* pl[dit]’ > PetscCompGrid.cpp:385: error: request for member ‘setVal’ in ‘gidfab’, which > is of non-class type ‘int’ > PetscCompGrid.cpp:388: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:388: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:394: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:394: error: template argument 1 is invalid > PetscCompGrid.cpp:394: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:394: error: no match for ‘operator[]’ in ‘* pl[dit]’ > PetscCompGrid.cpp:398: error: request for member ‘box’ in ‘gidfab’, which is > of non-class type ‘int’ > PetscCompGrid.cpp: At global scope: > PetscCompGrid.cpp:409: error: ‘PetscErrorCode’ does not name a type > PetscCompGrid.cpp: In member function ‘virtual void > PetscCompGrid::applyBCs(IntVect, int, const DataIndex&, Box, StencilTensor&)’: > PetscCompGrid.cpp:611: error: ‘class ConstDiriBC’ has no member named > ‘getCoef’ > PetscCompGrid.cpp: In member function ‘virtual void > PetscCompGrid::InterpToCoarse(IntVect, int, const DataIndex&, > StencilTensor&)’: > PetscCompGrid.cpp:699: error: ‘PetscInt’ was not declared in this scope > PetscCompGrid.cpp:699: error: template argument 1 is invalid > PetscCompGrid.cpp:699: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:699: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:700: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:700: error: template argument 1 is invalid > PetscCompGrid.cpp:700: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:700: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:709: error: ‘gidfab’ cannot be used as a function > PetscCompGrid.cpp:720: error: expected `;' before ‘cidx’ > PetscCompGrid.cpp:720: error: ‘cidx’ was not declared in this scope > PetscCompGrid.cpp:723: error: ‘kk’ was not declared in this scope > PetscCompGrid.cpp:741: error: ‘supgidfab’ cannot be used as a function > PetscCompGrid.cpp:743: error: ‘supgidfab’ cannot be used as a function > PetscCompGrid.cpp: In member function ‘virtual void > PetscCompGrid::InterpToFine(IntVect, int, const DataIndex&, StencilTensor&)’: > PetscCompGrid.cpp:772: error: ‘PetscInt’ was not declared in this scope > PetscCompGrid.cpp:772: error: template argument 1 is invalid > PetscCompGrid.cpp:772: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:772: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:773: error: ‘PetscInt’ cannot appear in a > constant-expression > PetscCompGrid.cpp:773: error: template argument 1 is invalid > PetscCompGrid.cpp:773: error: invalid type in declaration before ‘=’ token > PetscCompGrid.cpp:773: error: invalid types ‘int[int]’ for array subscript > PetscCompGrid.cpp:774: error: request for member ‘box’ in ‘covergidfab’, > which is of non-class type ‘int’ > PetscCompGrid.cpp:783: error: ‘gidfab’ cannot be used as a function > PetscCompGrid.cpp: At global scope: > PetscCompGrid.cpp:812: error: ‘PetscErrorCode’ does not name a type > PetscCompGrid.cpp:917: error: ‘PetscErrorCode’ does not name a type > PetscCompGrid.cpp:964: error: ‘PetscErrorCode’ does not name a type > make[3]: *** [o/2d.Linux.64.mpicxx.mpif90.DEBUG.PETSC/PetscCompGrid.o] Error 1 > make[2]: *** [AMRElliptic] Error 2 > make[1]: *** [AMRElliptic] Error 2 > make: *** [execPETSc] Error 2 > > -- > Best regards, > > Feng > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > > > -- > Best regards, > > Feng > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > > > -- > Best regards, > > Feng
