Skip to content
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

Miniconda installer started to succumb to conflict with mamba when working with conda-forge #862

Closed
yarikoptic opened this issue Sep 17, 2024 · 3 comments
Labels
locked [bot] locked due to inactivity

Comments

@yarikoptic
Copy link

Originally reported in

#!/bin/bash                                                                                                                                                                         
export PS4='> '                                                                                                                                                                     
set -x                                                                                                                                                                              
set -eu                                                                                                                                                                             
                                                                                                                                                                                    
cd "$(mktemp -d ${TMPDIR:-/tmp}/dl-XXXXXXX)"                                                                                                                                        
                                                                                                                                                                                    
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh                                                                                                          
bash $PWD/Miniconda3-latest-Linux-x86_64.sh -p $PWD/dest -s -b                                                                                                                      
$PWD/dest/bin/conda --version                                                                                                                                                       
$PWD/dest/bin/conda install --yes --channel conda-forge python=3.11                                                                                                                 
$PWD/dest/bin/conda install -q -c conda-forge -y requests  

which would error out with

> /tmp/dl-Wvh497T/dest/bin/conda install -q -c conda-forge -y requests                                                                                                              
Error while loading conda entry point: conda-libmamba-solver (libarchive.so.20: cannot open shared object file: No such file or directory)                                          
                                                                                                                                                                                    
CondaValueError: You have chosen a non-default solver backend (libmamba) but it was not recognized. Choose one of: classic                                                          

even though could be addressed with addition of --solver=classic to last install invocation, it seems that it is some change in the installed environment (switching to mamba by default?) which started to trigger this bug and thus may be needs to be handled at constructor level? (feel welcome to forward elsewhere if you think the issue is mis-placed)

@marcoesters
Copy link
Contributor

Hi @yarikoptic, thank you for your report!

constructor only creates the installer, which installs a base environment onto your system. That part appears to be working since it finished and successfully installs python. requests is failing due to the issues you linked. So, the root of this appears to be the ABI incompatibility between Anaconda's and conda-forge's packages and is thus not a problem constructor can solve.

It is generally not advisable to mix Anaconda and conda-forge packages, especially if the contain compiled code. I would suggest to use one channel exclusively. So, you have two options:

  • Do not install from conda-forge. You may be okay if you use "pure" python packages though.
  • Use the Miniforge installer to exclusively use conda-forge.

I'm closing this since this is not a constructor problem. However, if you think that there is a bug in constructor feel free to re-open and/or ping me. Thank you!

@marcoesters marcoesters closed this as not planned Won't fix, can't repro, duplicate, stale Sep 19, 2024
@github-project-automation github-project-automation bot moved this from 🆕 New to 🏁 Done in 🧭 Planning Sep 19, 2024
@yarikoptic
Copy link
Author

yarikoptic commented Sep 19, 2024

Thank you @marcoesters for the exhaustive answer!
another basic question: is there a list/table of existing popular distributions (anaconda, miniforge, miniconda etc) with a summary of critical differences between them?

@marcoesters
Copy link
Contributor

This is a good starting point: https://conda.org/blog/2024-08-14-conda-ecosystem-explained

It does not mention Anaconda Distribution though. This is a quick summary on the difference between Anaconda Distribution and Miniconda: https://docs.anaconda.com/distro-or-miniconda/

@github-actions github-actions bot added the locked [bot] locked due to inactivity label Mar 19, 2025
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 19, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked [bot] locked due to inactivity
Projects
Archived in project
Development

No branches or pull requests

2 participants