Dear Bhavesh,
There are a few things going on here that are problematic.
The first is around PETSc. While it is often a good idea on a cluster to build PETSc separately from Firedrake, the PETSc installed on the cluster is very unlikely to have the right configuration settings for us, so you do need to build your own. You probably want to use the Firedrake PETSc version (https://github.com/firedrakeproject/petsc) which is known to be compatible with the petsc4py used in Firedrake. If building PETSc yourself then you need to specify the right configure options, which you can obtain by running:
python3 firedrake-install --show-petsc-configure-options
Alternatively you could just let firedrake-install build PETSc for you. This might be easier.
See also the comments below:
From:
<firedrake-bounces@imperial.ac.uk> on behalf of "Shrimali, Bhavesh" <bshrima2@illinois.edu>
Date: Friday, 18 January 2019 at 19:31
To: firedrake <firedrake@imperial.ac.uk>
Subject: [firedrake] Firedrake Installation on Cluster
I have been trying to install firedrake on our campus cluster, however I’ve had little success so far. I am not from a CS background so mostly have been googling stuff and trying different things. I am trying to make use of the modules available on our cluster, and use the PETSc already installed on the cluster.
I assume the following environment variables were advised by the cluster admins. If they were obtained from the internet they are almost certainly wrong:
export I_MPI_CC=gcc
export I_MPI_CXX=g++
export I_MPI_F90=gfortran
export I_MPI_FC="$I_MPI_F90"
export I_MPI_F77="$I_MPI_F90"
These export commands don’t do what you think. Each one is overwriting the previous one, they don’t accumulate. This is also not the correct set of PETSc configure options for Firedrake, for that please see the command given above. Finally, setting petsc configure options doesn’t actually help unless you are building your own PETSc.
export PETSC_CONFIGURE_OPTIONS=--download-fblaslapack
export PETSC_CONFIGURE_OPTIONS=--download-scalapack
export PETSC_CONFIGURE_OPTIONS=--download-mumps
export PETSC_CONFIGURE_OPTIONS=--download-superlu_dist
export PETSC_CONFIGURE_OPTIONS=--download-hypre
curl -O https://raw.githubusercontent.com/firedrakeproject/firedrake/master/scripts/firedrake-install
You almost certainly do not want --honour-pythonpath here. It is almost always better to unset the PYTHONPATH environment variable. It is very unlikely that you actually want external packages to be included in the Firedrake Python venv.
python3 firedrake-install --no-package-manager --honour-pythonpath --honour-petsc-dir
This throws exception at the following point (Also attached separately as firedrakeErrortxt)
Removing existing h5py installations
Installing h5py/
Installing libspatialindex
Cloning libspatialindex
Failed to clone libspatialindex using ssh, falling back to https.
Successfully cloned repository libspatialindex.
Checking out branch master
Successfully checked out branch master
Installing petsc4py/
Traceback (most recent call last):
File "firedrake-install", line 1145, in <module>
install(p+"/")
File "firedrake-install", line 642, in install
run_pip_install(["--ignore-installed", package])
File "firedrake-install", line 600, in run_pip_install
check_call(pipinstall + pipargs)
File "firedrake-install", line 438, in check_call
log.debug(subprocess.check_output(arguments, stderr=subprocess.STDOUT, env=env).decode())
File "/usr/local/python/3.7.0/lib/python3.7/subprocess.py", line 376, in check_output
**kwargs).stdout
File "/usr/local/python/3.7.0/lib/python3.7/subprocess.py", line 468, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/projects/meca/bshrima2/packages/firedrake/bin/python', '-m', 'pip', 'install', '--no-binary', 'mpi4py', '--no-deps', '-vvv', '--ignore-installed', 'petsc4py/']' returned non-zero exit status 1.
The complete log file is also attached along with this email.
Please let me know if you can be of some help, as I have received little-to-no help from the people managing the cluster. Also let me know if this is due to an error on my side while running the installer.
Thank you
--Bhavesh
Sent from Mail for Windows 10