Package conflict with anaconda

Viewed 4399

I'm trying to get a program called BEAST on my local Ubuntu using Anaconda but get this message:

Package libgcc-ng conflicts for: 
beast2 -> beagle-lib -> libgcc-ng[version='>=4.9|>=7.3.0|>=7.2.0'] 
python=3.7 -> libgcc-ng[version='>=7.2.0|>=7.3.0']

I thought I had Anaconda to be rid of package conflicts

What does this conflict mean?

Seems like two programs are prioritizing a package version differently, so what? Can't these two programs continue with their lives with different priorities?

And by the way: how would I solve this?

Edit:

 conda create -n test python=3.7 beast2

gives me this:

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package libffi conflicts for:
python=3.7 -> libffi[version='>=3.2.1,<3.3a0|>=3.3,<3.4.0a0']
beast2 -> gettext[version='>=0.19.8.1,<1.0a0'] -> libffi[version='>=3.2.1,<3.3a0']
2 Answers

TLDR

conda create -n beast -c conda-forge -c bioconda python=3.7 beast2

Longer version

By telling conda that it can visit conda-forge, it has some extra options to resolve the dependency conflicts. However, that doesn't really explain why this happens:

$ conda create -n beast python=3.7 libgcc-ng=7.3 libstdcxx-ng=7.3
$ activate beast
$ conda install -c bioconda beast2
Package libstdcxx-ng conflicts for:
python=3.7 -> libstdcxx-ng[version='>=7.2.0|>=7.3.0']
beast2 -> beagle-lib -> libstdcxx-ng[version='>=7.3.0|>=7.5.0']

It isn't clear why these dependencies aren't satisfied, since we already installed libstdcxx-ng version 7.3.

Alternative

If you instead use mamba to make the environment, you get slightly more helpful feedback:

$ conda install mamba
$ mamba create -n beast-mamba python=3.7 beast2
...
Problem: nothing provides requested beast2
...
$ mamba create -n beast-mamba -c bioconda python=3.7 beast2
...
Encountered problems while solving.
Problem: nothing provides openjdk 8.0* zulu8* needed by beast2-2.4.5-0
...
$ mamba create -n beast-mamba -c bioconda -c conda-forge python=3.7 beast2
...
Success

You can tell conda to search packages in coda-forge like this:

conda config --append channels conda-forge
Related