Error in fenics installation on a Singularity container

I am trying to build a Singularity container with FEniCS installed, specifically for deploying on a HPC cluster here. Although there are existing docker images already available, I wanted to configure the container with several other programs that I need in addition to FEniCS.

The complete recipe file (equivalent of a Dockerfile) is here

I am running the same commands as I would on an Ubuntu:18.04 system (I have already installed and tested FEniCS using these and it is working fine):

    add-apt-repository ppa:fenics-packages/fenics
    apt-get -y update
    apt-get -y install --no-install-recommends fenics

but when I try to import DOLFIN I get the following error:

The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[golubh1.campuscluster.illinois.edu:45463] [[INVALID],INVALID] ORTE_ERROR_LOG: Unable to start a daemon on the local node in file ess_singleton_module.c at line 582
[golubh1.campuscluster.illinois.edu:45463] [[INVALID],INVALID] ORTE_ERROR_LOG: Unable to start a daemon on the local node in file ess_singleton_module.c at line 166
--------------------------------------------------------------------------
It looks like orte_init failed for some reason; your parallel process is
likely to abort.  There are many reasons that a parallel process can
fail during orte_init; some of which are due to configuration or
environment problems.  This failure appears to be an internal failure;
here's some additional information (which may only be relevant to an
Open MPI developer):

  orte_ess_init failed
  --> Returned value Unable to start a daemon on the local node (-127) instead of ORTE_SUCCESS
--------------------------------------------------------------------------
--------------------------------------------------------------------------
It looks like MPI_INIT failed for some reason; your parallel process is
likely to abort.  There are many reasons that a parallel process can
fail during MPI_INIT; some of which are due to configuration or environment
problems.  This failure appears to be an internal failure; here's some
additional information (which may only be relevant to an Open MPI
developer):

  ompi_mpi_init: ompi_rte_init failed
  --> Returned "Unable to start a daemon on the local node" (-127) instead of "Success" (0)
--------------------------------------------------------------------------
*** An error occurred in MPI_Init_thread
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
***    and potentially your MPI job)

Any pointers to what could be potentially going wrong and possible fixes?

Fixed by directly importing one of the Docker images here

2 Likes

The link you provided no longer works.

Thanks for pointing it out. Singularity hub has been archived. You can follow the build recipe from there, and modify to pull Dolfin instead of dolfinx. something along these lines should work…

Bootstrap: docker
From: bhaveshshrimali/dolfin_superlu

%post
    apt-get -y update
    apt-get -y install software-properties-common ffmpeg curl wget build-essential
    pip3 install --force-reinstall matplotlib pandas pyamg ffmpeg-python openpyxl vedo
    ldconfig
%runscript
    exec /bin/bash -i

Or if you don’t need the additional packages, simply pulling dolfin’s Docker image should also work

singularity pull --name fenics.simg docker://quay.io/fenicsproject/dev:latest
2 Likes