On Tue, Mar 22, 2011 at 7:56 AM, Roy Stogner <[email protected]> wrote: > > > On Tue, 22 Mar 2011, Sebastian Steiger wrote: > >> Hello Roy >> >> I am currently trying to do some testing of new routines with the PETSc >> developers. My application uses PETSc+SLEPc+libmesh, and for that matter >> I need to switch to petsc-dev/slepc-dev/libmesh-dev. I managed to >> compile PETSc/SLEPc, but now I have a problem with the libmesh file >> >> src/numerics/petsc_matrix.C >> >> I'm posting the error below: >> >> Compiling C++ (in optimized mode) src/numerics/petsc_matrix.C... >> src/numerics/petsc_matrix.C: In member function 'virtual void >> libMesh::PetscMatrix<T>::_get_submatrix(libMesh::SparseMatrix<T>&, const >> std::vector<unsigned int, std::allocator<unsigned int> >&, const >> std::vector<unsigned int, std::allocator<unsigned int> >&, bool) const': >> src/numerics/petsc_matrix.C:489: error: there are no arguments to >> 'ISCreateLibMesh' that depend on a template parameter, so a declaration >> of 'ISCreateLibMesh' must be available
ISCreateLibMesh is a macro located in petsc_macro.h. Is it possible that #if PETSC_VERSION_RELEASE && PETSC_VERSION_LESS_THAN(3,1,1) is false for your PETSc? In that case you would not have this macro defined. >> /ccs/home/steiger/src/app-nemo/NEMO/libs/petsc-barry/include/petscmat.h: >> In member function 'void >> libMesh::PetscMatrix<T>::zero_rows(std::vector<int, std::allocator<int> >>> &, T) [with T = double]': >> src/numerics/petsc_matrix.C:588: instantiated from here >> /ccs/home/steiger/src/app-nemo/NEMO/libs/petsc-barry/include/petscmat.h:557: >> error: too few arguments to function 'PetscErrorCode >> MatZeroRows(_p_Mat*, PetscInt, const PetscInt*, PetscScalar, _p_Vec*, >> _p_Vec*)' >> src/numerics/petsc_matrix.C:202: error: at this point in file >> /ccs/home/steiger/src/app-nemo/NEMO/libs/petsc-barry/include/petscmat.h:557: >> error: too few arguments to function 'PetscErrorCode >> MatZeroRows(_p_Mat*, PetscInt, const PetscInt*, PetscScalar, _p_Vec*, >> _p_Vec*)' I guess the MatZeroRows interface has changed in a recent version of PETSc. http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/Mat/MatZeroRows.html has six arguments: MatZeroRows(Mat mat, PetscInt numRows, const PetscInt rows[], PetscScalar diag, Vec x, Vec b) but we are only calling it with 4. The last two vectors are optional, so we can maybe pass NULL for both. Sebastian, would you mind trying that in your build and letting me know if it works. -- John ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
