On Fri, 04 Jul 2014 11:24:29 +0100
"Garth N. Wells" <[email protected]> wrote:

> 
> On Fri, 4 Jul, 2014 at 10:37 AM, Jan Blechta 
> <[email protected]> wrote:
> > Hi Garth and others,
> > 
> > after merging 'garth/merge-fix-119' I experience some build
> > problems in
> > PETScMatrix. With PETSc e660135 (which is 3.4.4+) I have
> > 
> > /usr/users/blechta/fenics/fenics-mkl/src/dolfin/dolfin/la/PETScMatrix.cpp:213:76:
> >  
> > error: invalid conversion from 'std::vector<int>::size_type {aka
> > long unsigned int}' to 'const PetscInt* {aka const
> > int*}' [-fpermissive] 
> > /usr/users/blechta/fenics/fenics-mkl/src/dolfin/dolfin/la/PETScMatrix.cpp:213:76:
> >  
> > error: cannot convert 'int*' to 'PetscCopyMode' for argument '4' to 
> > 'PetscErrorCode ISLocalToGlobalMappingCreate(MPI_Comm, PetscInt, 
> > const PetscInt*, PetscCopyMode, _p_ISLocalToGlobalMapping**)'
> > 
> > and same on lines 215, 290, 292.
> > 
> > I can build with master prior to the merge. Any ideas?
> 
> If you're using PETSc dev, you need to up date it. They changed the 
> interface to ISLocalToGlobalMappingCreate.

Oh, sorry, I could just read the code to discover this.

Nevertheless, the check "#if PETSC_VERSION_RELEASE" does not seem to be
correct. On Monday PETSc 3.5 was released, so it will not work.

The interface change seems to me being changed by commit f0413b6f. And

  $petsc> git tag --contains f0413b6f
  v3.5

So it should check, I guess

  #if ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR < 5))
  // old code
  #else
  // new code
  #endif

Jan

> 
> Garth
> 
> > 
> > Jan
> 
> _______________________________________________
> fenics-support mailing list
> [email protected]
> http://fenicsproject.org/mailman/listinfo/fenics-support

_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to