Hi Lawrence,

I pulled your PyOP2 branch with logging support and updated by firedrake modules+dependencies (ffc, ufl, coffee, fiat - all master), and I get the following when I try to run firedrake-clean:

eikemueller@Eikes-MacBook-Pro $ ./scripts/firedrake-clean 
Traceback (most recent call last):
  File "./scripts/firedrake-clean", line 3, in <module>
    from firedrake.ffc_interface import clear_cache, FFCKernel
  File "/Users/eikemueller/PostDocBath/EllipticSolvers/firedrake/firedrake/__init__.py", line 31, in <module>
    from pyop2.logger import set_log_level, info_red, info_green, info_blue, log  # noqa
  File "/Users/eikemueller/PostDocBath/EllipticSolvers/PyOP2/pyop2/__init__.py", line 13, in <module>
    from op2 import *
  File "/Users/eikemueller/PostDocBath/EllipticSolvers/PyOP2/pyop2/op2.py", line 39, in <module>
    import base
  File "/Users/eikemueller/PostDocBath/EllipticSolvers/PyOP2/pyop2/base.py", line 60, in <module>
    from coffee.visitors import FindInstances, EstimateFlops
ImportError: No module named visitors

To me it looks like PyOP2 tries to import a non-existant coffee module, but that’s weird, since there is a subdirectory coffee/visitors in my COFFEE installation, and the __init__.py contains:

eikemueller@Eikes-MacBook-Pro $ cat __init__.py 
from __future__ import absolute_import
from coffee.visitors.utilities import *
from coffee.visitors.inspectors import *

and FindInstances is defined in inspectors.py

eikemueller@Eikes-MacBook-Pro $ grep FindInstances *py
inspectors.py:           "SymbolDeclarations", "FindInstances"]
inspectors.py:class FindInstances(Visitor):
inspectors.py:        super(FindInstances, self).__init__()

Thanks,

Eike

--

Dr Eike Hermann Mueller
Lecturer in Scientific Computing

Department of Mathematical Sciences
University of Bath
Bath BA2 7AY, United Kingdom

+44 1225 38 6470
e.mueller@bath.ac.uk
http://people.bath.ac.uk/em459/