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