On Fri, Aug 23, 2019 at 11:28 AM Lawrence Mitchell <wence@gmx.li> wrote:
Hi Niall,

apologies that this is still not working, although we would like to get to the bottom.

> On 23 Aug 2019, at 16:07, Madden, Niall <niall.madden@nuigalway.ie> wrote:
>
> Hi Miklós, David, Lawrence,
>
>> To be honest, building Python from source is far easier than
>> manually installing Firedrake.
> OK. I tried that. Didn't work.

Can you explain how things failed? Building Python didn't work, or that worked, and then firedrake-install failed?

>> When you compiled PETSc by hand, which configure options
>> did you use? We depend on PETSc having downloaded quite a few
>> things for us, in particular including hdf5 . It looks like you didn’t
>> build PETSc with that option....    --show-petsc-configure-options
> You are right, David: I was relying on a system installed hdf5, which was inforced when making Petsc with  --with-hdf5-dir=...
> It is unclear to me how to tell firedrake install to use that hdf5

> I'll try making Petsc without that later...

Our issue is that we basically rely on PETSc to build most of the compiled dependencies, and hence if PETSc was built with --with-hdf5-dir=... (rather than --download-hdf5) we don't find it.

Why doesn't this work? PETSc knows where HDF5 is, no matter how it is specified, and you can query it from Python.

  Thanks,

    Matt
 
I think this is actually easy to override: we only need to interpose in one place.

Can you try using the firedrake-install script from here: https://raw.githubusercontent.com/firedrakeproject/firedrake/wence/fix/install-hdf5/scripts/firedrake-install

You can then do:

export HDF5_DIR=/path/you/used/for/--with-hdf5-dir

python3 firedrake-install --honour-petsc-dir

And hopefully this will pick up the right HDF5.

> By the way, "--show-petsc-configure-options" does not seem to work when
> PETSC_DIR is set. Instead it complains that I need --honour-petsc-dir
> Then it complains about the lack of package manager.
>
> But
> python3 firedrake-install --show-petsc-configure-options --honour-petsc-dir --no-package-manager
> just tries to install firedrake without reporting the Petsc options.


Apologies for this. I just pushed a fix for this logic, so if you grab a new version of the firedrake-install script, it should work with just "python3 firedrake-install --show-petsc-configure-options" (the above linked script also includes this change).

Our major issue with installation is that we want a unified solution independent of platform. Since package managers are mostly platform-specific, this is somewhat challenging. There are some possible cross-platform package management systems, but I do not yet believe that they are suitable for anything other than expert users.

My real hope is that proper containerised solutions will appear on HPC systems in the next year or so, which will simplify all of this significantly.

Thanks,

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


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