-
Notifications
You must be signed in to change notification settings - Fork 516
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
Some Singularity versions cannot be parsed in v7.29.0 #2319
Comments
Not surprising, but it is the same for the other if statement checking singularity->apptainer version
Obviously not ideal, but this is an intentional decision to not handle such non-PEP440 versions. Although the minimum allowed singularity version was released in Nov 22, 2017, so maybe its just better to remove the version check and feel sorry for anyone using such an old version (which wouldn't run anyway in snakemake). |
Removing the check is a bad idea in my opinion: there are enough cluster systems around with ancient software installed on them. There are multiple ways to solve this error:
I tend to the first solution, but please let me know if there is a better solution. |
I'm also in favour of the first option where characters are stripped if |
### Description Apptainer and singularity use non-PEP440 version numbers like `1.1.8-1.el8` and `3.10.4-dirty`. packaging.version can not handle these version numbers. To mitigate the issue, a character is stripped away at the end of the string until it is parsable by packaging.version. Should fix #2319 and #2334 ### QC <!-- Make sure that you can tick the boxes below. --> * [x] The PR contains a test case for the changes or the changes are already covered by an existing test case. * [x] The documentation (`docs/`) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake). --------- Co-authored-by: Johannes Köster <johannes.koester@tu-dortmund.de> Co-authored-by: Johannes Köster <johannes.koester@uni-due.de>
Snakemake version
7.29.0
Describe the bug
Singularity releases are now checked according to PEP440, to which they do not comply. This appears to be due to the change made in commit 9b8c362, where distutils.version.LooseVersion is replaced by packaging.version.parse.
This happens on my work laptop (
singularity --version
returnssingularity-ce version 3.10.4-dirty
) and on our HPC (singularity --version
returnssingularity-ce version 3.11.1-1.el7
). Many Singularity releases (e.g. all releases for RHEL) have non-PEP440-compliant suffixes.Logs
Minimal example
Using
Snakefile
:And then running:
While this works fine:
Additional context
The text was updated successfully, but these errors were encountered: