Trouble installing cylc-8.1.0?

Has anyone run into an issue where installing cylc-flow via conda-forge hangs? I’ve run into this issue on a couple of machines now, where I get the following:

(cylc810) [bcash@cola1 ~]$ conda install -c conda-forge cylc-flow
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: /

… and then it just stays in Solving environment until the conda process runs out of memory and/or is killed. Another member of our group tried installing as well, all into new clean environments, without success.

Hi @bencash,

Yes, unfortunately the conda environment solver seems to be really (and increasingly?) slow.

I just tried it myself and quit after waiting 30 mins.

You should use the new fast solver mamba:

$ conda create -n cylc8
$ conda activate cylc8
$ conda install -c conda-forge mamba
$ time mamba install -c conda-forge cylc-flow cylc-uiserver
...
real    0m50.282s
user    0m17.975s
sys     0m2.604s

$ cylc version
8.1.0

That took 50 seconds including solve, download, and install :tada:

I’ll suggest to the team that we update our installation instructions to include this advice.

4 Likes

Hi,

I faced the same issue: from /var/log/messages

Jan 27 12:05:37 cylc8dr kernel: Out of memory: Kill process 8340 (conda) score 827 or sacrifice child
Jan 27 12:05:37 cylc8dr kernel: Killed process 8340 (conda), UID 0, total-vm:10735864kB, anon-rss:7044044kB, file-rss:0kB, shmem-rss:0kB

Installing and using Mamba does the trick but installing Mamba required conda-forge repo.to be specified as below:

[root@cylc8dr ~]# conda install mamba
Collecting package metadata: done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  • mamba

Current channels:

  • main/linux-64
  • /pkgs/main/noarch
  • /pkgs/free/linux-64
  • /pkgs/free/noarch
  • /pkgs/r/linux-64
  • /pkgs/r/noarch

(removed https to avoid detection as links)

To search for alternate channels that may provide the conda package you’re
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

[root@cylc8dr ~]# conda install -c conda-forge mamba
Collecting package metadata: done
Solving environment: done

Rest of the steps are same.

Thanks very much for that @kumarv !

You’re right. I’ll go back and correct the original post, to avoid confusing feature readers.

Hello - This approach has stopped working for us:

(clean_test) login3.frontera(1017)$ mamba install -c conda-forge cylc-flow cylc-uiserver

                  __    __    __    __
                 /  \  /  \  /  \  /  \
                /    \/    \/    \/    \
              /  / \   / \   / \   / \  \____
             /  /   \_/   \_/   \_/   \    o \__,
            / _/                       \_____/  `
            |/

        mamba (1.3.0) supported by @QuantStack

        GitHub:  https://github.com/mamba-org/mamba
        Twitter: https://twitter.com/QuantStack

Looking for: ['cylc-flow', 'cylc-uiserver']

conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
pkgs/r/noarch                                                 No change
pkgs/r/linux-64                                               No change
pkgs/main/noarch                                   818.9kB @   2.2MB/s  0.4s
pkgs/main/linux-64                                   5.2MB @   4.0MB/s  1.4s

Pinned packages:
  - python 3.11.*


Could not solve for environment specs
Encountered problems while solving:
  - package cylc-flow-8.1.0-pyhb6b8b6f_0 requires cylc-flow-base 8.1.0 pyhd8ed1ab_0, but none of the providers can be installed

The environment can't be solved, aborting the operation

This :point_up: is the problem. Off the top of my head, Cylc currently requires Python 3.7 to 3.9 (or possibly 3.10?).

I hit this myself the other day. I think it was to do with installing mamba first, without specifying the Python version. A “pinned” package means conda (and mamba) can’t change the version when solving the environment.

But you can force it, something like this:

$ mamba install python==3.9   # downgrade Python
$ mamba install cylc-flow cylc-uiserver  # should now work

(Sorry for the pain!)

Yep, this is it. We just got this to work on our group call by forcing 3.9 - I was on my way here to say we had fixed it when I saw this. :slight_smile:

1 Like

BTW, @oliver.sanders has informed me that the mamba library can be used directly from conda now, rather than as a separate application:

https://conda.github.io/conda-libmamba-solver/getting-started/

2 Likes

cylc-flow 8.1 does support up to Python 3.10, however if you are using cylc-uiserver 1.2 for the web GUI, that only supports up to Python 3.9