Aren't the Firedrake petsc and petsc4py versions supposed to be compatible with each other?

On 24 Aug 2014 16:58, "Florian Rathgeber" <f.rathgeber10@imperial.ac.uk> wrote:
The usual: interface change in PETSc (DMDASetDim renamed to
DMDASetDimension) that hasn't been updated in petsc4py yet. The PETSc
revision introducing that change is c73cfb54.

On 24/08/14 16:27, Cotter, Colin J wrote:
> Dear Firedrakers,
>   I just updated my petsc and petsc4py using the PyOP2 install
> instructions, to be precise I did:
>
>> sudo PETSC_CONFIGURE_OPTIONS="--download-ctetgen --download-triangle
> --download-chaco"   pip install -U --no-deps
> git+https://bitbucket.org/petsc/petsc.git#egg=petsc
>> unset PETSC_DIR
>> unset PETSC_ARCH
>> sudo pip install -U --no-deps git+https://bitbucket.org/petsc/petsc4py.git
>
> I then updated and built PyOP2, firedrake too.
>
> Now, upon importing Firedrake, I get:
>
> In [1]: from firedrake import *
> ---------------------------------------------------------------------------
> ImportError                               Traceback (most recent call last)
> /home/cjc1/mercurial/shapefem/<ipython-input-1-379626444471> in <module>()
> ----> 1 from firedrake import *
>
> /home/cjc1/firedrake/firedrake/firedrake/__init__.py in <module>()
>       1 # Ensure petsc is initialised by us before anything else gets in
> there.
>
> ----> 2 import petsc
>       3 del petsc
>       4
>       5 from ufl import *
>
> /home/cjc1/firedrake/firedrake/firedrake/petsc.py in <module>()
>       2 import petsc4py
>       3 import sys
> ----> 4 petsc4py.init(sys.argv)
>       5 from petsc4py import PETSc  # NOQA get flake8 to ignore unused
> import.
>
> /usr/local/lib/python2.7/dist-packages/petsc4py/__init__.pyc in
> init(args, arch, comm)
>      40     """
>      41     import petsc4py.lib
> ---> 42     PETSc = petsc4py.lib.ImportPETSc(arch)
>      43     args  = petsc4py.lib.getInitArgs(args)
>      44     PETSc._initialize(args, comm)
>
> /usr/local/lib/python2.7/dist-packages/petsc4py/lib/__init__.pyc in
> ImportPETSc(arch)
>      27     """
>      28     path, arch = getPathArchPETSc(arch)
> ---> 29     return Import('petsc4py', 'PETSc', path, arch)
>      30
>      31 def getPathArchPETSc(arch=None):
>
> /usr/local/lib/python2.7/dist-packages/petsc4py/lib/__init__.pyc in
> Import(pkg, name, path, arch)
>      62     pathlist = [os.path.join(path, arch)]
>      63     fo, fn, stuff = imp.find_module(name, pathlist)
> ---> 64     module = imp.load_module(fullname, fo, fn, stuff)
>      65     module.__arch__ = arch # save arch value
>      66     setattr(sys.modules[pkg], name, module)
>
> ImportError:
> /usr/local/lib/python2.7/dist-packages/petsc4py/lib/PETSc.so: undefined
> symbol: DMDASetDim
>
> What's wrong here?
>
> all the best
> --Colin


_______________________________________________
firedrake mailing list
firedrake@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/firedrake