Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MrBayes container needs ssh or rsh installed #404

Open
lgorenstein opened this issue Apr 3, 2021 · 4 comments
Open

MrBayes container needs ssh or rsh installed #404

lgorenstein opened this issue Apr 3, 2021 · 4 comments

Comments

@lgorenstein
Copy link

lgorenstein commented Apr 3, 2021

MrBayes container is missing ssh and/or rsh. Because of this, the MPI version of the program can not be launched:

$ singularity run https://depot.galaxyproject.org/singularity/mrbayes:3.2.7--h19cf415_2 mpirun -np 2 mb-mpi
--------------------------------------------------------------------------
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
--------------------------------------------------------------------------
[host.example.com:141273] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)

The issue can be somewhat mitigated by exporting OMPI_MCA_plm_rsh_agent="" in the parent shell, but this leads to another undesired effect: in the absence of ssh or rsh OpenMPI can no longer launch across multiple nodes (i.e. parallel runs are only confined to cores within a single node where OpenMPI could get by using self mechanism).

Please add ssh client to the container - this should nip the problem at the bud.

@osallou
Copy link
Contributor

osallou commented Apr 4, 2021

Hi,
This container is build from bioconda package, it extra packages are needed to run, issye should be created there (though ssh is not directly used by tool here but its mpi setup...)

Thanks

@lgorenstein
Copy link
Author

Thank you Olivier, I have created an issue there.

This is a bit of a tough call (I suspect it is almost expected that tools use the host's ssh client for everything, so no need to install one into a conda environment... while inside a container it becomes a requirement). Almost like a special handling exception may be needed for all MPI-based tools ("if conda recipe calls for an MPI, force-add ssh into the container")?

@osallou
Copy link
Contributor

osallou commented Apr 4, 2021

Hi you have needs such as this and don't have time waiting for a fix, or just want to try, you can also create singularity image (or docker image, supported by singularity as docker is oci standard compliant) extending a conda base image (the FROM in dockerfile) and installing conda related package + required package.

Something like, for docker:

FROM miniconda
RUN conda install xxx
RUN apt-get update && apt-get install -y openssh

@lgorenstein
Copy link
Author

Thanks, I'll give it a try.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants