Dear firedrakers,
I'm just going through the instructions for installing firedrake on ARCHER as per
https://github.com/firedrakeproject/firedrake-bench/wiki/Archer . I ran into a couple of issues you might be interested in, so I thought I keep you updated on my progress. The content of my firedrake.env script is listed below and also attached (I use export instead of setenv since I work with the bash shell - I think this is the default on ARCHER, isn't it?). Note that I have to unload the python module, otherwise I get a conflict with anaconda.
======== 'module' command broken by anaconda ========
However, after sourcing firedrake.env the 'module' command does not work any longer:
eike@eslogin003 $ module list
init.c(479):ERROR:161: Cannot initialize TCL
I think the reason is the following addition to LD_LIBRARY_PATH in ${FDRAKE_DIR}/modules/fdrake-python-env
prepend-path LD_LIBRARY_PATH "$env(ANACONDA_LIB)"
If I remove ${ANACONDA_LIB} from LD_LIBRARY_PATH afterwards (LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed 's/\/work\/y07\/y07\/cse\/anaconda\/1.9.2\/lib//g'`) the module command works again (I also tried to attend ${ANACONDA_LIB} at the end of LD_LIBRARY_PATH, but then I get the same problem again).
======== Cloning PyOP2 and firedrake repositories from github ========
Also, I could not clone PyOP2 and firedrake via
git clone git@github.com:OP2/PyOP2.git
git clone git@github.com:firedrakeproject/firedrake.git
I get the following error message:
eike@eslogin008 $ git clone git@github.com:OP2/PyOP2.git
Cloning into 'PyOP2'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
That might be an issue with the git configuration on ARCHER, though.
I fixed this by just cloning via https:
======== Building PyOP2 ========
When I try to build PyOP2 with
eike@eslogin002 $ python setup.py build_ext --inplace
I get the following error message (see attached pyop2_call1.log):
[...]
File "/work/y07/y07/cse/anaconda/1.9.2/lib/python2.7/site-packages/Cython/Distutils/build_ext.py", line 238, in cython_sources
for i in extension.include_dirs:
File "setup.py", line 83, in include_dirs
from numpy import get_include
ImportError: cannot import name get_include
This is odd, since 'from numpy import get_include' does work if I try it in the interactive python shell. If I then run 'python setup.py build_ext --inplace' again, the build process seems to go through (pyop2_call2.log).
======== Building firedrake ========
this seems to go though ok (see attached file firedrake.log).
======== Running poisson example code ========
I tried to run the example; my version of the modified firedrake.tpl is attached (notice that I unload the python module to avoid conflicts with anaconda). Unfortunately it doesn't seem to work, I get an error in fd_poisson.0101.541091.sdb.log trying to load the python libraries:
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
All three output files are attached below as well.
If this helps, I'm very happy to edit the wiki.
Cheers,
Eike
*** content of firedrake.env ***
module swap PrgEnv-cray PrgEnv-gnu
module unload python
module add anaconda
# Add fdrake module path
export FDRAKE_DIR=/work/y07/y07/fdrake
module use "$FDRAKE_DIR/modules"
# Load build environment
module load fdrake-build-env
module load fdrake-python-env
LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed 's/\/work\/y07\/y07\/cse\/anaconda\/1.9.2\/lib//g'`
export PYTHONPATH=$WORK/firedrake-bench:$WORK/firedrake-bench/pybench:$WORK/firedrake:$WORK/PyOP2:$PYTHONPATH