On Fri, Nov 2, 2018 at 1:36 PM Lawrence Mitchell <wence@gmx.li> wrote:

> On 2 Nov 2018, at 17:27, Matthew Knepley <knepley@gmail.com> wrote:
>
> On Fri, Nov 2, 2018 at 1:20 PM Lawrence Mitchell <wence@gmx.li> wrote:
> > On 2 Nov 2018, at 17:16, Matthew Knepley <knepley@gmail.com> wrote:
> >
> > I went on to
> >
> >   cd src/h5py
> >   pip install .
> >
> > and it that worked
> >
> > (firedrake) :/PETSc3/fem/firedrake$ pushd src/h5py/
> > /PETSc3/fem/firedrake/src/h5py /PETSc3/fem/firedrake /PETSc3/fem
> > (firedrake) firedrake:/PETSc3/fem/firedrake/src/h5py$ pip install .
> > Processing /PETSc3/fem/firedrake/src/h5py
> > Requirement already satisfied: numpy>=1.7 in

> /lib/python3.6/site-packages (from h5py==2.8.0.post0) (1.15.3)
> > Requirement already satisfied: six in /PETSc3/fem/firedrake/lib/python3.6/site-packages (from h5py==2.8.0.post0) (1.11.0)
> > Installing collected packages: h5py
> >   Found existing installation: h5py 2.8.0
> >     Uninstalling h5py-2.8.0:
> >       Successfully uninstalled h5py-2.8.0
> >   Running setup.py install for h5py ... done
> > Successfully installed h5py-2.8.0.post0
>
>
> Great!
>
> > How do I restart the whole Firedrake now?
>
> This is unsupported, but I think it should work:
>
> $ cp firedrake-install firedrake/bin/firedrake-update
> $ chmod u+x firedrake/bin/firedrake-update
> $ . firedrake/bin/activate
> $ rm -rf firedrake/src/libspatialindex
> $ firedrake-update
>
> I get
>
> (firedrake) :/PETSc3/fem$ cp firedrake-install firedrake/bin/firedrake-update
> (firedrake) :/PETSc3/fem$ chmod u+x firedrake/bin/firedrake-update
> (firedrake) :/PETSc3/fem$ rm -rf firedrake/src/libspatialindex
> (firedrake) :/PETSc3/fem$ firedrake-update
> Running /PETSc3/fem/firedrake/bin/firedrake-update
> Traceback (most recent call last):
>   File "/PETSc3/fem/firedrake/bin/firedrake-update", line 277, in <module>
>     import firedrake_configuration
> ModuleNotFoundError: No module named 'firedrake_configuration'

Ah, ok, we have to do this manually then.

First:

$ cat > firedrake/src/firedrake/firedrake_configuration/configuration.json <<EOF
{"options": {"package_manager": false, "minimal_petsc": false, "mpicc": "mpicc", "mpicxx": "mpicxx", "mpif90": "mpif90", "disable_ssh": false, "honour_petsc_dir": true, "show_petsc_configure_options": false, "slepc": false, "slope": false, "packages": [], "honour_pythonpath": false, "petsc_int_type": "int32", "cache_dir": "/PETSc3/fem/firedrake/.cache"}, "environment": {}, "additions": []}
EOF

This makes the configuration file firedrake-install would have done.

Now let's pretend we installed the firedrake_configuration module:

$ cat > firedrake/lib/python3.6/site-packages/firedrake.egg-link << EOF
/PETSc3/fem/firedrake/src/firedrake
.
EOF

Now try doing:

$ python -c "import firedrake_configuration; print(firedrake_configuration.get_config())"

If that works, try again with "firedrake-update"

Okay, we get farther. I had to set PYTHONPATH in order to see the configuration file:

(firedrake) :/PETSc3/fem$ export PYTHONPATH=$PWD/firedrake/src/firedrake

(firedrake) :/PETSc3/fem$ python -c "import firedrake_configuration; print(firedrake_configuration.get_config())"

{'options': {'package_manager': False, 'minimal_petsc': False, 'mpicc': 'mpicc', 'mpicxx': 'mpicxx', 'mpif90': 'mpif90', 'disable_ssh': False, 'honour_petsc_dir': True, 'show_petsc_configure_options': False, 'slepc': False, 'slope': False, 'packages': [], 'honour_pythonpath': False, 'petsc_int_type': 'int32', 'cache_dir': '/PETSc3/fem/firedrake/.cache'}, 'environment': {}, 'additions': []}

(firedrake) :/PETSc3/fem$ firedrake_update

-bash: firedrake_update: command not found

(firedrake)  127:/PETSc3/fem$ firedrake-update

Running /PETSc3/fem/firedrake/bin/firedrake-update

The PYTHONPATH environment variable is set. This is probably an error.

If you really want to use your own Python packages, please run again with the

--honour-pythonpath option.




Update log saved in firedrake-update.log

(firedrake)  1:/PETSc3/fem$ firedrake-update --honour-pythonpath

Running /PETSc3/fem/firedrake/bin/firedrake-update --honour-pythonpath

Updating the git repository for firedrake

Creating firedrake-update script.

Running ../bin/firedrake-update --no-update-script --honour-pythonpath

Xcode and homebrew installation disabled. Proceeding on the rash assumption that packaged dependencies are in place.

Finding dependencies of PyOP2


Finding dependencies of firedrake


Updating the git repository for petsc4py

Updating the git repository for COFFEE

Updating the git repository for ufl

Updating the git repository for fiat

Updating the git repository for FInAT

Updating the git repository for tsfc

Updating the git repository for PyOP2

Updating the git repository for firedrake

Installing pip dependencies for COFFEE

Installing pip dependencies for ufl

No dependencies found. Skipping.

Installing pip dependencies for fiat

No dependencies found. Skipping.

Installing pip dependencies for FInAT

Installing pip dependencies for tsfc

Installing pip dependencies for PyOP2

Installing pip dependencies for firedrake

Installing h5py

Updating the git repository for h5py

No need to rebuild h5py

Installing libspatialindex

Cloning libspatialindex


Successfully cloned repository libspatialindex

Checking out branch master

Successfully checked out branch master

Traceback (most recent call last):

  File "../bin/firedrake-update", line 1207, in <module>

    build_and_install_libspatialindex()

  File "../bin/firedrake-update", line 808, in build_and_install_libspatialindex

    check_call(["./autogen.sh"])

  File "../bin/firedrake-update", line 435, in check_call

    log.debug(subprocess.check_output(arguments, stderr=subprocess.STDOUT, env=env).decode())

  File "/Users/knepley/MacSoftware/lib/python3.6/subprocess.py", line 336, in check_output

    **kwargs).stdout

  File "/Users/knepley/MacSoftware/lib/python3.6/subprocess.py", line 418, in run

    output=stdout, stderr=stderr)

subprocess.CalledProcessError: Command '['./autogen.sh']' returned non-zero exit status 1.



Update log saved in firedrake-update.log


Here is the log.

  Thanks,

     Matt

Cheers,

Lawrence



--
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