-
Notifications
You must be signed in to change notification settings - Fork 353
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
Mamba resolves to older packages than Conda #848
Comments
Hi @johnhany97 this could be fixed in libsolv, by modifying the sort order. The code for this is in this general area: https://github.com/openSUSE/libsolv/blob/e2ed3f290d588642b454d19e8c993d76b7a58f15/src/policy.c#L912 |
Hey @wolfv. Some colleagues and I also hit this bug recently. Are there any good workarounds? |
@beckermr this appears to be fixed with this PR in libsolv: openSUSE/libsolv#449 I am considering to publish the two recent improvements to libsolv's conda support in patches to our libsolv feedstock while we wait for feedback. |
Sounds good! |
Should we be shipping builds with the conda macros enabled for libsolv separately from the upstream lib? This might be a better practice for users of libsolv outside of mamba/micromamba, though maybe no such users exist. |
I think if someone wants that config as a conda-package, they are free to open a PR on the feedstock :) |
Can you test this again with the latest libsolv on conda-forge? I pushed a build with this patch: openSUSE/libsolv#457 |
If I understand correctly, changes to libsolv haven't been merged and released yet? (Just to better understand the status of this issue) |
The conda-forge package has been updated ahead of upstream with the patch. So if you update your base env, you will get the changes. |
Hey,
I am experimenting with mamba to use in place of conda and noticed that sometimes mamba can pick different packages than conda. Namely, I noticed that sometimes mamba's resolved environment can include some packages at a whole major version lower than what conda would pick. Take for example the following:
If you try and run:
we end up resolving to
but if you run the same command with
conda
instead, we resolve to:Notably, the differing packages here can be seen in this screenshot: (Conda on the left / Mamba on the right)
It's surprising that mamba resolved to
libgfortran
4.X where conda picked 5.X.Hypothesis
I did some digging and noticed that
libgfortran
is brought in as a transitive dependency fromscipy
. Conda and mamba resolved to the same scipy1.5.3
but different buildstrings.When I looked at them more closely, I noticed that conda picked:
while mamba picked
I then converted the
timestamp
field and noticed that conda picked the newer package (Monday, 2 November 2020 08:33:53.890) out of the 2 (Mamba picked Monday, 2 November 2020 08:32:41) when presented with 2 packages with the same name and version, but different build strings.I think conda has a concept called
Timestamp maximization
which is what kicked in here and led to the differing results.The text was updated successfully, but these errors were encountered: