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...
Thanks,
Matt
Cheers,
Lawrence
--