On Thu, Nov 1, 2018 at 9:32 PM Matthew Knepley <knepley@gmail.com> wrote:
On Thu, Nov 1, 2018 at 5:25 AM Lawrence Mitchell <wence@gmx.li> wrote:
> On 31 Oct 2018, at 22:34, Andrew McRae <andrew.mcrae@physics.ox.ac.uk> wrote:
>
> Line 5406
> _configtest.c:2:10: fatal error: 'mpi.h' file not found

A bit more detail. mpi4py's setup.py attempts to determine what compilers to use to compile and link MPI programs.

It looks like it failed to do so for you somehow:

>     copying src/mpi4py/include/mpi4py/mpi4py.i -> build/lib.macosx-10.5-x86_64-3.6/mpi4py/include/mpi4py
>     copying src/mpi4py/include/mpi4py/mpi.pxi -> build/lib.macosx-10.5-x86_64-3.6/mpi4py/include/mpi4py
>     running build_clib
>     MPI configuration: [mpi] from 'mpi.cfg'
>     checking for library 'lmpe' ...

If I run "pip install -vvv mpi4py" I see:

>    running build_clib
>     MPI configuration: [mpi] from 'mpi.cfg'
>     MPI C compiler:    /usr/local/bin/mpicc
>     MPI C++ compiler:  /usr/local/bin/mpicxx
>     MPI F compiler:    /usr/local/bin/mpifort
>     MPI F90 compiler:  /usr/local/bin/mpif90
>     MPI F77 compiler:  /usr/local/bin/mpif77
>     checking for library 'lmpe' ...


I notice that your environment sets "mpiexec" to something in $PETSC_DIR/$PETSC_ARCH/bin

But that directory is not in your PATH. Is that also where mpicc etc.. live?

You can say:

MPICC=...; MPICXX=...; pip install -vvv mpi4py to see if that works.

In theory you can say "firedrake-install --mpicc=/path/to/mpicc --mpicxx=... --mpif90=..." but I am not 100% confident that that sets things up correctly for the mpi4py installation (only the PETSc build).

Since (unfortunately) recovering from a part-failed install is a "remove and try again" process, to speed up pinning down the issue can we try:

$ python3 -m venv foo
$ . foo/bin/activate
$ pip install -vvv --no-binary mpi4py mpi4py

And see what happens?

The env variables worked. I like that trick for building just one section. Restarting the full build...

Well crap. h5py failed, and it does not look like a simple env fix. It is complaining about an SSL certificate. Is there
a way to point to something that uses HTTP?

  Thanks,

      Matt
 
  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



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