Open swryan opened 2 months ago
@minrk I assume this is related to https://github.com/conda-forge/mpi-feedstock/pull/14?
@swryan what if we do mpi==1.0.*=openmpi
? Would it work?
I had the same suspicion wrt #14...
@leofang I don't know how to evaluate your suggestion, is there a way we could test it?
Also note that we see a similar issue with mpich
:
Tried with mpich and got a similar error:
conda.exceptions.InvalidSpec: The package "conda-forge/noarch::mpi==1.0=mpich" is not available for the specified platform
Perhaps try conda install -c conda-forge openmpi mpi==1.0.*=openmpi
?
If it works, I am thinking we should issue a migrator to rebuild all MPI providers and pin to
run:
- mpi 1.0.* {{ mpi_flavor }}
@minrk WDYT?
that command line is not working for me:
$ conda install -c conda-forge openmpi mpi==1.0.*=openmpi
WARNING conda.models.version:get_matcher(563): Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.0.*, but conda is ignoring the .* and treating it as 1.0
Channels:
- conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/version.py", line 44, in __call__
return cls._cache_[arg]
KeyError: '===1.0'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/match_spec.py", line 75, in __call__
return super().__call__(**kwargs)
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/match_spec.py", line 190, in __init__
self._match_components = self._build_components(**kwargs)
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/match_spec.py", line 425, in _build_components
return frozendict(_make_component(key, value) for key, value in kwargs.items())
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/match_spec.py", line 425, in <genexpr>
return frozendict(_make_component(key, value) for key, value in kwargs.items())
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/match_spec.py", line 439, in _make_component
matcher = _implementors[field_name](value)
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/version.py", line 46, in __call__
val = cls._cache_[arg] = super().__call__(arg)
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/version.py", line 523, in __init__
vspec_str, matcher, is_exact = self.get_matcher(vspec)
File "/home/swryan/miniconda3/lib/python3.10/site-packages/conda/models/version.py", line 552, in get_matcher
raise InvalidVersionSpec(vspec_str, "invalid operator")
conda.exceptions.InvalidVersionSpec: Invalid version '===1.0': invalid operator
I'm sure this is related to #14, sorry about that. I don't understand how that could happen or what's producing the illegal spec (it should be mpi=1.0=openmpi
not mpi==1.0=openmpi
, which is invalid). We can mark the noarch builds as invalid.
This appears to be a bug in conda's handling of noarch packages with only x.y
version, because mamba install mpi4py
works in this same situation.
https://github.com/conda-forge/admin-requests/pull/1094 marks the 1.0 builds broken, then we can do the 1.0.* migrator
Actually, I think we can fix this here by publishing a 1.0.0
build, which I've tested locally.
I think #18 might be the easiest path to a fix
The 1.0 builds are marked broken, so this should be fixed now for future installs. We can start looking into the 1.0.* migration.
Solution to issue cannot be found in the documentation.
Issue
We started getting this error on our CI workflows within the last 12 hours.
InvalidSpec: The package "conda-forge/noarch::mpi==1.0=openmpi" is not available for the specified platform
Tried with
mpich
and got a similar error:conda.exceptions.InvalidSpec: The package "conda-forge/noarch::mpi==1.0=mpich" is not available for the specified platform
The output below is from my local workstation.. but we see the same issues on GitHub images.
Appreciate any info/suggestions. Thanks!
Installed packages
Environment info