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

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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants