NBISweden / MrBayes

MrBayes is a program for Bayesian inference and model choice across a wide range of phylogenetic and evolutionary models. For documentation and downloading the program, please see the home page:
http://NBISweden.github.io/MrBayes/
GNU General Public License v3.0
224 stars 78 forks source link

MrBayes installed through conda not working on Slurm server #283

Open johnpatramanis opened 10 months ago

johnpatramanis commented 10 months ago

What is the current observed behaviour?

While working on a server that utilises Slurm, I tried installing mrbayes through conda ( https://anaconda.org/bioconda/mrbayes ) and got different errors.

1) Installing it by simply typing "conda install -c bioconda mrbayes " does install a functioning version of MrBayes. The parallel version is also installed and can be called with 'mb-mpi' but does not work. Instead it print out this long message:

**""" The application appears to have been direct launched using "srun", but OMPI was not built with SLURM's PMI support and therefore cannot execute. There are several options for building PMI support under SLURM, depending upon the SLURM version you are using:

version 16.05 or later: you can use SLURM's PMIx support. This requires that you configure and build SLURM --with-pmix.

Versions earlier than 16.05: you must use either SLURM's PMI-1 or PMI-2 support. SLURM builds PMI-1 by default, or you can manually install PMI-2. You must then build Open MPI using --with-pmi pointing to the SLURM PMI library location.

Please configure as appropriate and try again.

An error occurred in MPI_Init on a NULL communicator MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, and potentially your MPI job) """**

The conda version also installs some pretty old versions of prerequisites, e.g. python v3.6.8 , openmpi v4.0.2





2) Installing it along with another tool (e.g. conda install -c bioconda -c conda-forge snakemake mrbayes) does install up to date prerequisites e.g. python v3.11.4 , but the basic MrBayes is now not working. When you try to execute with 'mb' you get this error:

Illegal instruction (core dumped)





3) Installing an older version of MrBayes (e.g. conda install -c bioconda -c conda-forge mrbayes=3.2.6) also installs a non-functioning version of MrBayes, this time the error message is different:

mb: error while loading shared libraries: libhmsbeagle.so.1: cannot open shared object file: No such file or directory





I reproduced the above on 2 different Slurm servers. I also tried it on a non-Slurm server and MrBayes was working fine, including the parallel version!

What is the environment that you run MrBayes in?

ypchan commented 5 months ago

@johnpatramanis I has the same issue, Do you solve it? Thanks Yanpeng

johnpatramanis commented 5 months ago

Good day, Unfortunately I did not 'solve' the issue, as I never got the conda version of MrBayes to work. I haven't checked since the last post here, if anything has changed in the conda version of MrBayes.

What did work for me, was manually downloading and installing MrBayes the original way from their link, outside of conda. I've also started using RevBayes which is an alternative to MrBayes.

Hope this helps!

mlarjim commented 2 months ago

Installing mrbayes h760cbc2_0 build worked for me:

conda install mrbayes=3.2.7=h760cbc2_0 -c bioconda

edit: I also installed this version of BEAGLE

conda install beagle-lib=3.1.2=h9f5acd7_4 -c bioconda

Allan-Baino commented 1 month ago

Hi there, I am using a SLURM server and tried installing mrbayes h760cbc2_0 and ran into an issue, the build requires openmpi >= 4.0.2...