conda-forge / miniforge

A conda-forge distribution.
https://conda-forge.org/miniforge
Other
6.24k stars 323 forks source link

update conda causes openssl broken #538

Closed zz5678 closed 9 months ago

zz5678 commented 9 months ago

Solution to issue cannot be found in the documentation.

Issue

conda update causes openssl broken

enviroment: MIUI 14, Android 13, termux, original installation ubuntu/fedora by https://github.com/EXALAB/AnLinux-App

with the prompt, use conda update -n base -c conda-forge conda to update conda:

# conda update -n base -c conda-forge conda
Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 23.3.1                                                     latest version: 23.11.0

Please update conda by running

    $ conda update -n base -c conda-forge conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.11.0
## Package Plan ##

  environment location: /root/miniforge3

  added / updated specs:
    - conda

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    brotli-python-1.1.0        |  py310hbb3657e_1         347 KB  conda-forge
    bzip2-1.0.8                |       h31becfc_5         185 KB  conda-forge
    c-ares-1.23.0              |       h31becfc_0         156 KB  conda-forge
    ca-certificates-2023.11.17 |       hcefe29a_0         151 KB  conda-forge
    certifi-2023.11.17         |     pyhd8ed1ab_0         155 KB  conda-forge
    cffi-1.16.0                |  py310hce94938_0         255 KB  conda-forge
    charset-normalizer-3.3.2   |     pyhd8ed1ab_0          46 KB  conda-forge
    cryptography-41.0.7        |  py310he685ff2_1         1.9 MB  conda-forge                                                                               idna-3.6                   |     pyhd8ed1ab_0          49 KB  conda-forge
    jsonpatch-1.33             |     pyhd8ed1ab_0          17 KB  conda-forge
    jsonpointer-2.4            |  py310h4c7bcd0_3          16 KB  conda-forge
    libcurl-8.5.0              |       h4e8248e_0         390 KB  conda-forge                                                                               libev-4.33                 |       h31becfc_2         112 KB  conda-forge
    libgcc-ng-13.2.0           |       hf8544c7_3         447 KB  conda-forge                                                                               libgomp-13.2.0             |       hf8544c7_3         413 KB  conda-forge
    libiconv-1.17              |       h31becfc_1         675 KB  conda-forge
    libnghttp2-1.58.0          |       hb0e430d_1         662 KB  conda-forge
    libnsl-2.0.1               |       h31becfc_0          34 KB  conda-forge                                                                               libsolv-0.7.27             |       hd84c7bf_0         464 KB  conda-forge                                                                               libsqlite-3.44.2           |       h194ca79_0        1001 KB  conda-forge
    libstdcxx-ng-13.2.0        |       h9a76618_3         3.6 MB  conda-forge                                                                               libxml2-2.11.6             |       h3091e33_0         731 KB  conda-forge                                                                               ncurses-6.4                |       h0425590_2         899 KB  conda-forge
    openssl-3.2.0              |       h31becfc_1         3.2 MB  conda-forge
    packaging-23.2             |     pyhd8ed1ab_0          48 KB  conda-forge
    pycosat-0.6.6              |  py310hb299538_0          83 KB  conda-forge
    pyopenssl-23.3.0           |     pyhd8ed1ab_0         124 KB  conda-forge
    python_abi-3.10            |          4_cp310           6 KB  conda-forge
    reproc-14.2.4.post0        |       h31becfc_1          34 KB  conda-forge                                                                               reproc-cpp-14.2.4.post0    |       h2f0025b_1          25 KB  conda-forge
    ruamel.yaml.clib-0.2.7     |  py310hb299538_2         125 KB  conda-forge
    setuptools-68.2.2          |     pyhd8ed1ab_0         454 KB  conda-forge
    tk-8.6.13                  |       h194ca79_0         3.2 MB  conda-forge
    urllib3-2.1.0              |     pyhd8ed1ab_0          83 KB  conda-forge
    wheel-0.42.0               |     pyhd8ed1ab_0          56 KB  conda-forge
    yaml-cpp-0.7.0             |       h2f0025b_3         195 KB  conda-forge
    zstandard-0.22.0           |  py310h468e293_0         371 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        20.5 MB

The following packages will be UPDATED:

  brotli-python                       1.1.0-py310hbb3657e_0 --> 1.1.0-py310hbb3657e_1
  bzip2                                    1.0.8-hf897c2e_4 --> 1.0.8-h31becfc_5
  c-ares                                  1.19.1-h31becfc_0 --> 1.23.0-h31becfc_0                                                                         ca-certificates                      2023.7.22-hcefe29a_0 --> 20

### Installed packages

```shell
conda list
Could not load conda plugin `conda-libmamba-solver`:

/lib64/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /root/miniforge3/lib/python3.10/site-packages/libmambapy/../../.././libssl.so.3)
# packages in environment at /root/miniforge3:
#
# Name                    Version                   Build  Channel
_openmp_mutex             4.5                       2_gnu    conda-forge
boltons                   23.0.0             pyhd8ed1ab_0    conda-forge
brotli-python             1.1.0           py310hbb3657e_1    conda-forge
bzip2                     1.0.8                h31becfc_5    conda-forge
c-ares                    1.23.0               h31becfc_0    conda-forge
ca-certificates           2023.11.17           hcefe29a_0    conda-forge
certifi                   2023.11.17         pyhd8ed1ab_0    conda-forge
cffi                      1.16.0          py310hce94938_0    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
conda                     23.3.1          py310h4c7bcd0_0    conda-forge
conda-libmamba-solver     23.3.0             pyhd8ed1ab_0    conda-forge
conda-package-handling    2.2.0              pyh38be061_0    conda-forge
conda-package-streaming   0.9.0              pyhd8ed1ab_0    conda-forge
cryptography              41.0.7          py310he685ff2_1    conda-forge
fmt                       9.1.0                hdd96247_0    conda-forge
icu                       73.2                 h787c7f5_0    conda-forge
idna                      3.6                pyhd8ed1ab_0    conda-forge
jsonpatch                 1.33               pyhd8ed1ab_0    conda-forge
jsonpointer               2.4             py310h4c7bcd0_3    conda-forge
keyutils                  1.6.1                h4e544f5_0    conda-forge
krb5                      1.21.2               hc419048_0    conda-forge
ld_impl_linux-aarch64     2.40                 h2d8c526_0    conda-forge
libarchive                3.6.2                h566b526_1    conda-forge
libcurl                   8.5.0                h4e8248e_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h31becfc_2    conda-forge
libffi                    3.4.2                h3557bc0_5    conda-forge
libgcc-ng                 13.2.0               hf8544c7_3    conda-forge
libgomp                   13.2.0               hf8544c7_3    conda-forge
libiconv                  1.17                 h31becfc_1    conda-forge
libmamba                  1.4.2                h4a4fd89_0    conda-forge
libmambapy                1.4.2           py310hbc2a718_0    conda-forge
libnghttp2                1.58.0               hb0e430d_1    conda-forge
libnsl                    2.0.1                h31becfc_0    conda-forge
libsolv                   0.7.27               hd84c7bf_0    conda-forge
libsqlite                 3.44.2               h194ca79_0    conda-forge
libssh2                   1.11.0               h492db2e_0    conda-forge
libstdcxx-ng              13.2.0               h9a76618_3    conda-forge
libuuid                   2.38.1               hb4cce97_0    conda-forge
libxml2                   2.11.6               h3091e33_0    conda-forge
libzlib                   1.2.13               h31becfc_5    conda-forge
lz4-c                     1.9.4                hd600fc2_0    conda-forge
lzo                       2.10              h516909a_1000    conda-forge
mamba                     1.4.2           py310hcbdc16a_0    conda-forge
ncurses                   6.4                  h0425590_2    conda-forge
openssl                   3.2.0                h31becfc_1    conda-forge
packaging                 23.2               pyhd8ed1ab_0    conda-forge
pip                       23.2.1             pyhd8ed1ab_0    conda-forge
pluggy                    1.3.0              pyhd8ed1ab_0    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycosat                   0.6.6           py310hb299538_0    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pyopenssl                 23.3.0             pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.10.12         hbbe8eec_0_cpython    conda-forge
python_abi                3.10                    4_cp310    conda-forge
readline                  8.2                  h8fc344f_1    conda-forge
reproc                    14.2.4.post0         h31becfc_1    conda-forge
reproc-cpp                14.2.4.post0         h2f0025b_1    conda-forge
requests                  2.31.0             pyhd8ed1ab_0    conda-forge
ruamel.yaml               0.17.32         py310hb299538_0    conda-forge
ruamel.yaml.clib          0.2.7           py310hb299538_2    conda-forge
setuptools                68.2.2             pyhd8ed1ab_0    conda

Environment info

conda info
Could not load conda plugin `conda-libmamba-solver`:

/lib64/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /root/miniforge3/lib/python3.10/site-packages/libmambapy/../../.././libssl.so.3)

     active environment : base
    active env location : /root/miniforge3
            shell level : 1
       user config file : /root/.condarc
 populated config files : /root/miniforge3/.condarc
          conda version : 23.3.1
    conda-build version : not installed
         python version : 3.10.12.final.0
       virtual packages : __archspec=1=aarch64
                          __glibc=2.38=0
                          __linux=5.10.149=0
                          __unix=0=0
       base environment : /root/miniforge3  (writable)
      conda av data dir : /root/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-aarch64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /root/miniforge3/pkgs
                          /root/.conda/pkgs
       envs directories : /root/miniforge3/envs
                          /root/.conda/envs
               platform : linux-aarch64
             user-agent : conda/23.3.1 requests/2.31.0 CPython/3.10.12 Linux/5.10.149-android12-9-00001-gda3d81545d1d-ab9545656 fedora/39 glibc/2.38
                UID:GID : 0:0
             netrc file : None
           offline mode : False
zz5678 commented 9 months ago

but after update, the conda and python all broken:

run conda:

/lib64/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /root/miniforge3/lib/python3.10/site-packages/libmambapy/../../.././libssl.so.3)

run python:

>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/root/miniforge3/lib/python3.10/ssl.py", line 99, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: /lib64/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /root/miniforge3/lib/python3.10/lib-dynload/../../libssl.so.3)

The OpenSSL can still be run as version 3.2.0 installed by Conda, but why can't Python locate it?"

(base) [root@localhost ~]# openssl version
OpenSSL 3.2.0 23 Nov 2023 (Library: OpenSSL 3.2.0 23 Nov 2023)
zz5678 commented 9 months ago

Lots of invalid links to /root/miniforge3/.condatmp/ in the /root/miniforge3/lib, the installation directory.

Looks like the same problem: https://github.com/conda-forge/miniforge/issues/107

lrwxrwxrwx.  1 root root       14 Dec 14 08:59 libcrypto.so -> libcrypto.so.3
lrwxrwxrwx.  1 root root      114 Dec 14 08:59 libcrypto.so.3 -> /root/miniforge3/.condatmp/.l2s.a93b0f3d-c381-4e32-9cd3-67a407aab3570001
lrwxrwxrwx.  1 root root       16 Dec 14 09:00 libcurl.so -> libcurl.so.4.8.0
lrwxrwxrwx.  1 root root       16 Dec 14 09:00 libcurl.so.4 -> libcurl.so.4.8.0
lrwxrwxrwx.  1 root root      114 Dec 14 09:00 libcurl.so.4.8.0 -> /root/miniforge3/.condatmp/.l2s.02584c95-f5bf-4a63-8153-132238d944130001

IMG_20231215_094557 Screenshot_2023-12-15-09-42-31-270_com termux-edit

zz5678 commented 9 months ago
# mamba
Traceback (most recent call last):
  File "/root/miniforge3/bin/mamba", line 7, in <module>
    from mamba.mamba import main
  File "/root/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 49, in <module>
    import libmambapy as api
  File "/root/miniforge3/lib/python3.10/site-packages/libmambapy/__init__.py", line 7, in <module>
    raise e
  File "/root/miniforge3/lib/python3.10/site-packages/libmambapy/__init__.py", line 4, in <module>
    from libmambapy.bindings import *  # noqa: F401,F403
ImportError: /lib64/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /root/miniforge3/lib/python3.10/site-packages/libmambapy/../../.././libssl.so.3)

running mamba got same error

zz5678 commented 9 months ago

Based on this Stack Overflow post https://stackoverflow.com/questions/73932844/cannot-run-python-from-conda-env, remove and reinstall Conda, set conda config --set always_copy true first, and then update and install. Everything should work fine after that.

Moreover, there will be lots incorrect lib links associated with the installation of the BAD one: Miniconda3-latest-Linux-aarch64.sh (94MB, sha1sum: 0f7215692e5f30eb526f233e1ebd78e5942556c9)

GOOD one: Miniforge3-Linux-aarch64.sh (73M, sha1sum: a5ebf05108958f8db5ff34763a95aabd9f21d22b)

Solved. 🤔

hmaarrfk commented 9 months ago

I'm sorry, i know there have been quite a few issues with mamba + conda compatibility. We've held off releasing a miniforge version for this.

Its somewhat hard for us to always recreate.

We are trying to release a new version to help alleviate these issues:

https://github.com/conda-forge/miniforge/pull/523

lets close for now but thank you for reporting