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

mamba/mambaforge/miniconda run into errors with ncurse package on win10 WSL #1144

Open
bioXiaoheng opened this issue Aug 25, 2021 · 7 comments

Comments

@bioXiaoheng
Copy link

bioXiaoheng commented Aug 25, 2021

Hi Mamba developers,

I'm suggested to open this recent issue with conda-forge (conda-forge/miniforge#205) here because micromamba and mamba have the same issue with some files in the ncurse package when operating on windows 10 WSL (Ubuntu 20.04).

In particular, I was trying to install mambaforge using the shell script Mambaforge-Linux-x86_64.sh on my WSL (windows 10 home version 10.0.19043 build 19043, WSL v 10.0.19041.1151, Ubuntu version 2004.2021.222.0) to set up snakemake and run into the errors below:

WARNING Size incorrect, file modified in package cache "/mnt/c/ProgramData/mambaforge/pkgs/ncurses-6.2-h58526e2_4/share/terminfo/E/Eterm"
WARNING Could not read paths.json from "/mnt/c/ProgramData/mambaforge/pkgs/ncurses-6.2-h58526e2_4"
...
<shows summary of packages to be installed and continues with executing transactions>
...
ERROR   Cannot find cache for ncurses-6.2-h58526e2_4.tar.bz2

Later, I was able to install miniconda3 using the script Miniconda3-py38_4.9.2-Linux-x86_64.sh and install mambaforge with the conda command conda install mamba -n base -c conda-forge.

As I followed through the snakemake tutorial, a similar warning/error appeared when running the command mamba env create --name snakemake-tutorial --file environment.yaml:

SafetyError: The package for ncurses located at /mnt/c/ProgramData/miniconda3/pkgs/ncurses-6.1-hf484d3e_1002
appears to be corrupted. The path 'share/terminfo/e/eterm'
has an incorrect size.
  reported size: 842 bytes
  actual size: 2274 bytes

SafetyError: The package for ncurses located at /mnt/c/ProgramData/miniconda3/pkgs/ncurses-6.1-hf484d3e_1002
appears to be corrupted. The path 'share/terminfo/e/eterm-color'
has an incorrect size.
  reported size: 1249 bytes
  actual size: 2274 bytes

Despite the two errors though, this command was still able to complete itself, and the command conda activate snakemake-tutorial still works.

Attached are the two files (in tar.gz) mentioned by both. I'm wondering 1) why these errors occur, and more importantly 2) will they (or the mechanism that caused them) bring future problems as I keep using mamba and snakemake on my WSL?

eterm_files.tar.gz

@isuruf
Copy link
Contributor

isuruf commented Aug 25, 2021

#1143 might fix the mambaforge issue.

@cvjjm
Copy link

cvjjm commented Sep 29, 2021

I am having the exact same problem with the miniforge installer and this completely prevents installation under Win10 WSL2. What appears to happen is that after unpacking ncurses it warns about the checksum being wrong for some files that were overwritten because of name clashes caused by Win file system not being cases sensitive. It then seems to delete the folder into which ncurses was unpacked under ..../pkgs/ and then naturally fails to find the folder and crashes with error mentioned above.

@wolfv
Copy link
Member

wolfv commented Oct 18, 2021

@bioXiaoheng @cvjjm could you retry with the latest miniforge release?

@cvjjm
Copy link

cvjjm commented Oct 18, 2021

The error is now different but installation still fails under WSL2 during the ncurses step:

$ ./Miniforge3-4.10.3-7-Linux-x86_64.sh

Welcome to Miniforge3 4.10.3-7

[...]

Do you accept the license terms? [yes|no]
[no] >>> yes

Miniforge3 will now be installed into this location:
/home/cvjjm/miniforge3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/cvjjm/miniforge3] >>> /home/cvjjm/miniforge-test
PREFIX=/home/cvjjm/miniforge-test
Unpacking payload ...
Extracting "brotlipy-0.7.0-py39h3811e60_1001.tar.bz2"
Extracting "ca-certificates-2021.10.8-ha878542_0.tar.bz2"
Extracting "certifi-2021.10.8-py39hf3d152e_0.tar.bz2"
Extracting "cffi-1.14.6-py39h4bc2ebd_1.tar.bz2"
Extracting "chardet-4.0.0-py39hf3d152e_1.tar.bz2"
Extracting "charset-normalizer-2.0.0-pyhd8ed1ab_0.tar.bz2"
Extracting "colorama-0.4.4-pyh9f0ad1d_0.tar.bz2"
Extracting "conda-4.10.3-py39hf3d152e_2.tar.bz2"
Extracting "conda-package-handling-1.7.3-py39h3811e60_0.tar.bz2"
Extracting "cryptography-3.4.8-py39hbca0aa6_0.tar.bz2"
Extracting "idna-3.1-pyhd3deb0d_0.tar.bz2"
Extracting "ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2"
Extracting "libffi-3.4.2-h9c3ff4c_4.tar.bz2"
Extracting "libgcc-ng-11.2.0-h1d223b6_11.tar.bz2"
Extracting "libgomp-11.2.0-h1d223b6_11.tar.bz2"
Extracting "libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2"
Extracting "libzlib-1.2.11-h36c2ea0_1013.tar.bz2"
Extracting "ncurses-6.2-h58526e2_4.tar.bz2"
Extracting "openssl-1.1.1l-h7f98852_0.tar.bz2"
Extracting "pip-21.3-pyhd8ed1ab_0.tar.bz2"
Extracting "pycosat-0.6.3-py39h3811e60_1006.tar.bz2"
Extracting "pycparser-2.20-pyh9f0ad1d_2.tar.bz2"
Extracting "pyopenssl-21.0.0-pyhd8ed1ab_0.tar.bz2"
Extracting "pysocks-1.7.1-py39hf3d152e_3.tar.bz2"
Extracting "python-3.9.7-hb7a2778_3_cpython.tar.bz2"
Extracting "python_abi-3.9-2_cp39.tar.bz2"
Extracting "readline-8.1-h46c0cb4_0.tar.bz2"
Extracting "requests-2.26.0-pyhd8ed1ab_0.tar.bz2"
Extracting "ruamel_yaml-0.15.80-py39h3811e60_1004.tar.bz2"
Extracting "setuptools-58.2.0-py39hf3d152e_0.tar.bz2"
Extracting "six-1.16.0-pyh6c4a22f_0.tar.bz2"
Extracting "sqlite-3.36.0-h9cd32fc_2.tar.bz2"
Extracting "tk-8.6.11-h27826a3_1.tar.bz2"
Extracting "tqdm-4.62.3-pyhd8ed1ab_0.tar.bz2"
Extracting "tzdata-2021c-he74cb21_0.tar.bz2"
Extracting "urllib3-1.26.7-pyhd8ed1ab_0.tar.bz2"
Extracting "wheel-0.37.0-pyhd8ed1ab_1.tar.bz2"
Extracting "xz-5.2.5-h516909a_1.tar.bz2"
Extracting "yaml-0.2.5-h516909a_0.tar.bz2"
Extracting "zlib-1.2.11-h36c2ea0_1013.tar.bz2"
Extracting "_libgcc_mutex-0.1-conda_forge.tar.bz2"
Extracting "_openmp_mutex-4.5-1_gnu.tar.bz2"

                                           __
          __  ______ ___  ____ _____ ___  / /_  ____ _
         / / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/
        / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /
       / .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/
      /_/


Transaction

  Prefix: /home/cvjjm/miniforge-test

  Updating specs:

   - python==3.9.7=hb7a2778_3_cpython
   - _libgcc_mutex==0.1=conda_forge
   - ca-certificates==2021.10.8=ha878542_0
   - ld_impl_linux-64==2.36.1=hea4e1c9_2
   - libstdcxx-ng==11.2.0=he4da1e4_11
   - tzdata==2021c=he74cb21_0
   - libgomp==11.2.0=h1d223b6_11
   - _openmp_mutex==4.5=1_gnu
   - libgcc-ng==11.2.0=h1d223b6_11
   - libffi==3.4.2=h9c3ff4c_4
   - libzlib==1.2.11=h36c2ea0_1013
   - ncurses==6.2=h58526e2_4
   - openssl==1.1.1l=h7f98852_0
   - xz==5.2.5=h516909a_1
   - yaml==0.2.5=h516909a_0
   - readline==8.1=h46c0cb4_0
   - zlib==1.2.11=h36c2ea0_1013
   - sqlite==3.36.0=h9cd32fc_2
   - tk==8.6.11=h27826a3_1
   - charset-normalizer==2.0.0=pyhd8ed1ab_0
   - colorama==0.4.4=pyh9f0ad1d_0
   - idna==3.1=pyhd3deb0d_0
   - pycparser==2.20=pyh9f0ad1d_2
   - python_abi==3.9=2_cp39
   - six==1.16.0=pyh6c4a22f_0
   - wheel==0.37.0=pyhd8ed1ab_1
   - certifi==2021.10.8=py39hf3d152e_0
   - cffi==1.14.6=py39h4bc2ebd_1
   - chardet==4.0.0=py39hf3d152e_1
   - pycosat==0.6.3=py39h3811e60_1006
   - pysocks==1.7.1=py39hf3d152e_3
   - ruamel_yaml==0.15.80=py39h3811e60_1004
   - setuptools==58.2.0=py39hf3d152e_0
   - tqdm==4.62.3=pyhd8ed1ab_0
   - brotlipy==0.7.0=py39h3811e60_1001
   - conda-package-handling==1.7.3=py39h3811e60_0
   - cryptography==3.4.8=py39hbca0aa6_0
   - pip==21.3=pyhd8ed1ab_0
   - pyopenssl==21.0.0=pyhd8ed1ab_0
   - urllib3==1.26.7=pyhd8ed1ab_0
   - requests==2.26.0=pyhd8ed1ab_0
   - conda==4.10.3=py39hf3d152e_2


  Package                     Version  Build               Channel                                                                        Size
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  Install:
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

  + _libgcc_mutex                 0.1  conda_forge         conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2                   Cached
  + _openmp_mutex                 4.5  1_gnu               conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2                         Cached
  + brotlipy                    0.7.0  py39h3811e60_1001   conda-forge/linux-64/brotlipy-0.7.0-py39h3811e60_1001.tar.bz2                Cached
  + ca-certificates         2021.10.8  ha878542_0          conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2            Cached
  + certifi                 2021.10.8  py39hf3d152e_0      conda-forge/linux-64/certifi-2021.10.8-py39hf3d152e_0.tar.bz2                Cached
  + cffi                       1.14.6  py39h4bc2ebd_1      conda-forge/linux-64/cffi-1.14.6-py39h4bc2ebd_1.tar.bz2                      Cached
  + chardet                     4.0.0  py39hf3d152e_1      conda-forge/linux-64/chardet-4.0.0-py39hf3d152e_1.tar.bz2                    Cached
  + charset-normalizer          2.0.0  pyhd8ed1ab_0        conda-forge/noarch/charset-normalizer-2.0.0-pyhd8ed1ab_0.tar.bz2             Cached
  + colorama                    0.4.4  pyh9f0ad1d_0        conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2                       Cached
  + conda                      4.10.3  py39hf3d152e_2      conda-forge/linux-64/conda-4.10.3-py39hf3d152e_2.tar.bz2                     Cached
  + conda-package-handling      1.7.3  py39h3811e60_0      conda-forge/linux-64/conda-package-handling-1.7.3-py39h3811e60_0.tar.bz2     Cached
  + cryptography                3.4.8  py39hbca0aa6_0      conda-forge/linux-64/cryptography-3.4.8-py39hbca0aa6_0.tar.bz2               Cached
  + idna                          3.1  pyhd3deb0d_0        conda-forge/noarch/idna-3.1-pyhd3deb0d_0.tar.bz2                             Cached
  + ld_impl_linux-64           2.36.1  hea4e1c9_2          conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2              Cached
  + libffi                      3.4.2  h9c3ff4c_4          conda-forge/linux-64/libffi-3.4.2-h9c3ff4c_4.tar.bz2                         Cached
  + libgcc-ng                  11.2.0  h1d223b6_11         conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_11.tar.bz2                    Cached
  + libgomp                    11.2.0  h1d223b6_11         conda-forge/linux-64/libgomp-11.2.0-h1d223b6_11.tar.bz2                      Cached
  + libstdcxx-ng               11.2.0  he4da1e4_11         conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2                 Cached
  + libzlib                    1.2.11  h36c2ea0_1013       conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2                    Cached
  + ncurses                       6.2  h58526e2_4          conda-forge/linux-64/ncurses-6.2-h58526e2_4.tar.bz2                          Cached
  + openssl                    1.1.1l  h7f98852_0          conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2                       Cached
  + pip                          21.3  pyhd8ed1ab_0        conda-forge/noarch/pip-21.3-pyhd8ed1ab_0.tar.bz2                             Cached
  + pycosat                     0.6.3  py39h3811e60_1006   conda-forge/linux-64/pycosat-0.6.3-py39h3811e60_1006.tar.bz2                 Cached
  + pycparser                    2.20  pyh9f0ad1d_2        conda-forge/noarch/pycparser-2.20-pyh9f0ad1d_2.tar.bz2                       Cached
  + pyopenssl                  21.0.0  pyhd8ed1ab_0        conda-forge/noarch/pyopenssl-21.0.0-pyhd8ed1ab_0.tar.bz2                     Cached
  + pysocks                     1.7.1  py39hf3d152e_3      conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_3.tar.bz2                    Cached
  + python                      3.9.7  hb7a2778_3_cpython  conda-forge/linux-64/python-3.9.7-hb7a2778_3_cpython.tar.bz2                 Cached
  + python_abi                    3.9  2_cp39              conda-forge/linux-64/python_abi-3.9-2_cp39.tar.bz2                           Cached
  + readline                      8.1  h46c0cb4_0          conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2                         Cached
  + requests                   2.26.0  pyhd8ed1ab_0        conda-forge/noarch/requests-2.26.0-pyhd8ed1ab_0.tar.bz2                      Cached
  + ruamel_yaml               0.15.80  py39h3811e60_1004   conda-forge/linux-64/ruamel_yaml-0.15.80-py39h3811e60_1004.tar.bz2           Cached
  + setuptools                 58.2.0  py39hf3d152e_0      conda-forge/linux-64/setuptools-58.2.0-py39hf3d152e_0.tar.bz2                Cached
  + six                        1.16.0  pyh6c4a22f_0        conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2                           Cached
  + sqlite                     3.36.0  h9cd32fc_2          conda-forge/linux-64/sqlite-3.36.0-h9cd32fc_2.tar.bz2                        Cached
  + tk                         8.6.11  h27826a3_1          conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2                            Cached
  + tqdm                       4.62.3  pyhd8ed1ab_0        conda-forge/noarch/tqdm-4.62.3-pyhd8ed1ab_0.tar.bz2                          Cached
  + tzdata                      2021c  he74cb21_0          conda-forge/noarch/tzdata-2021c-he74cb21_0.tar.bz2                           Cached
  + urllib3                    1.26.7  pyhd8ed1ab_0        conda-forge/noarch/urllib3-1.26.7-pyhd8ed1ab_0.tar.bz2                       Cached
  + wheel                      0.37.0  pyhd8ed1ab_1        conda-forge/noarch/wheel-0.37.0-pyhd8ed1ab_1.tar.bz2                         Cached
  + xz                          5.2.5  h516909a_1          conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2                             Cached
  + yaml                        0.2.5  h516909a_0          conda-forge/linux-64/yaml-0.2.5-h516909a_0.tar.bz2                           Cached
  + zlib                       1.2.11  h36c2ea0_1013       conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz2                       Cached

  Summary:

  Install: 42 packages

  Total download: 0  B

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────



Transaction starting
Linking _libgcc_mutex-0.1-conda_forge
Linking ca-certificates-2021.10.8-ha878542_0
Linking ld_impl_linux-64-2.36.1-hea4e1c9_2
Linking libstdcxx-ng-11.2.0-he4da1e4_11
Linking tzdata-2021c-he74cb21_0
Linking libgomp-11.2.0-h1d223b6_11
Linking _openmp_mutex-4.5-1_gnu
Linking libgcc-ng-11.2.0-h1d223b6_11
Linking yaml-0.2.5-h516909a_0
Linking xz-5.2.5-h516909a_1
Linking openssl-1.1.1l-h7f98852_0
Linking ncurses-6.2-h58526e2_4
ERROR   File exists: '/home/cvjjm/miniforge-test/pkgs/ncurses-6.2-h58526e2_4/share/terminfo/2/2621a', '/home/cvjjm/miniforge-test/share/terminfo/2/2621a'

@cvjjm
Copy link

cvjjm commented Oct 18, 2021

And indeed the two files it complains about do exist and one is a broken link:

cvjjm@devenv:~/downloads$ ll /home/cvjjm/miniforge-test/pkgs/ncurses-6.2-h58526e2_4/share/terminfo/2/2621a
lrwxrwxrwx 1 cvjjm cvjjm 11 Nov 14  2020 /home/cvjjm/miniforge-test/pkgs/ncurses-6.2-h58526e2_4/share/terminfo/2/2621a -> ../h/hp2621
cvjjm@devenv:~/downloads$ ll /home/cvjjm/miniforge-test/share/terminfo/2/2621a
lrwxrwxrwx 1 cvjjm cvjjm 11 Oct 18 07:09 /home/cvjjm/miniforge-test/share/terminfo/2/2621a -> ../h/hp2621
cvjjm@devenv:~/downloads$ cat /home/cvjjm/miniforge-test/pkgs/ncurses-6.2-h58526e2_4/share/terminfo/2/2621a
→☺K+��hp2621|hp2621a|hp2621A|2621|2621a|2621A|hp2621-wl|2621-wl|hp 2621 w/labels☺☺☺☺☺☺☺P��↑��K♠♥♣��
AB%p1%dY2%dc%p1%dY6��9@����������������C������FK����P����UX]��������b������hkp��������������������r��vz~�������������������������������������������������������������������������������������������������������������������������������������������������
        $<2>cvjjm@devenv:~/downloads$
cvjjm@devenv:~/downloads$ cat /home/cvjjm/miniforge-test/share/terminfo/2/2621a
cat: /home/cvjjm/miniforge-test/share/terminfo/2/2621a: No such file or directory
cvjjm@devenv:~/downloads$ ll /home/cvjjm/miniforge-test/share/terminfo/
total 0
drwxr-xr-x 1 cvjjm cvjjm 4096 Oct 18 07:09 1
drwxr-xr-x 1 cvjjm cvjjm 4096 Oct 18 07:09 2

@am21
Copy link

am21 commented Feb 1, 2022

lstat("/....../micromamba/pkgs/ncurses-6.3-h9c3ff4c_0/share/terminfo/N/NCR260VT300WPP", {st_mode=S_IFLNK|0777, st_size=19, ...}) = 0
stat("/....../micromamba/pkgs/ncurses-6.3-h9c3ff4c_0/share/terminfo/N/NCR260VT300WPP", 0x7fffe3b8c360) = -1 ELOOP (Too many levels of symbolic links)

Here's what I see with an strace micromamba install ncurses -c conda-forge: Too many level of symbolic links.

@jonashaag
Copy link
Collaborator

Is this still an issue?

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

No branches or pull requests

6 participants