mamba: wget: Micromamba Download link is corrupted

Troubleshooting docs

  • My problem is not solved in the Troubleshooting docs

How did you install Mamba?

Micromamba

Search tried in issue tracker

#1675

Latest version of Mamba

  • My problem is not solved with the latest version

Tried in Conda?

Not applicable

Describe your issue

Attempting to install micromamba via download link fails.

wget -qO- http://micromamba.snakepit.net/api/micromamba/linux-64/latest | tar -xvj bin/micromamba

(same bug happens with https url) output:

bzip2: Compressed file ends unexpectedly;
 perhaps it is corrupted?  *Possible* reason follows.
 bzip2: Inappropriate ioctl for device
 	Input file = (stdin), output file = (stdout)
 
 It is possible that the compressed file(s) have become corrupted.
 You can use the -tvv option to test integrity of such files.
 
 You can use the `bzip2recover' program to attempt to recover
 data from undamaged sections of corrupted files.
 
 tar: Child returned status 2
 tar: Error is not recoverable: exiting now

however…

"${SHELL}" <(curl -L micro.mamba.pm/install.sh)

does work!

mamba info / micromamba info

No response

Logs

No response

environment.yml

No response

~/.condarc

No response

About this issue

  • Original URL
  • State: open
  • Created 7 months ago
  • Reactions: 1
  • Comments: 18 (1 by maintainers)

Commits related to this issue

Most upvoted comments

After a look to the wget man-page I found another option:

wget --remote-encoding=utf-8 -O /dev/null https://micromamba.snakepit.net/api/micromamba/linux-64/latest

This may be another option to get rid of the conversion.

Eventually the download server that generates the s3-download-links should report the correct encoding in its response, so that users won’t need to override it manually.

I found the solution for me: wget --no-iri -qO- https://micromamba.snakepit.net/api/micromamba/linux-64/latest | tar -xvj bin/micromamba

The --no-iri option disables the uri-conversion as a side-effect and the download works again.

replicable in a debian container on my machine. curl the url has the same error

>  docker run -it debian:11.4
root@c6671ddde46a:/# apt-get install --fix-missing -y --no-install-recommends bzip2 wget
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package bzip2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'bzip2' has no installation candidate
E: Unable to locate package wget
root@c6671ddde46a:/# apt-get --allow-releaseinfo-change-suite update
Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:2 http://deb.debian.org/debian-security bullseye-security InRelease [48.4 kB]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB]
Get:4 http://deb.debian.org/debian bullseye/main amd64 Packages [8062 kB]
Get:5 http://deb.debian.org/debian-security bullseye-security/main amd64 Packages [258 kB]
Get:6 http://deb.debian.org/debian bullseye-updates/main amd64 Packages [17.7 kB]
Fetched 8546 kB in 2s (4601 kB/s)                     
Reading package lists... Done
root@c6671ddde46a:/# apt-get install --fix-missing -y --no-install-recommends bzip2 wget
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libpsl5
Suggested packages:
  bzip2-doc
Recommended packages:
  publicsuffix ca-certificates
The following NEW packages will be installed:
  bzip2 libpsl5 wget
0 upgraded, 3 newly installed, 0 to remove and 22 not upgraded.
Need to get 1071 kB of archives.
After this operation, 3782 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main amd64 bzip2 amd64 1.0.8-4 [49.3 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 libpsl5 amd64 0.21.0-1.2 [57.3 kB]
Get:3 http://deb.debian.org/debian bullseye/main amd64 wget amd64 1.21-1+deb11u1 [964 kB]
Fetched 1071 kB in 0s (5113 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package bzip2.
(Reading database ... 6661 files and directories currently installed.)
Preparing to unpack .../bzip2_1.0.8-4_amd64.deb ...
Unpacking bzip2 (1.0.8-4) ...
Selecting previously unselected package libpsl5:amd64.
Preparing to unpack .../libpsl5_0.21.0-1.2_amd64.deb ...
Unpacking libpsl5:amd64 (0.21.0-1.2) ...
Selecting previously unselected package wget.
Preparing to unpack .../wget_1.21-1+deb11u1_amd64.deb ...
Unpacking wget (1.21-1+deb11u1) ...
Setting up libpsl5:amd64 (0.21.0-1.2) ...
Setting up wget (1.21-1+deb11u1) ...
Setting up bzip2 (1.0.8-4) ...
Processing triggers for libc-bin (2.31-13+deb11u3) ...


> root@c6671ddde46a:/# wget -qO- http://micromamba.snakepit.net/api/micromamba/linux-64/latest | tar -xvj bin/micromamba

bzip2: Compressed file ends unexpectedly;
	perhaps it is corrupted?  *Possible* reason follows.
bzip2: Inappropriate ioctl for device
	Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

tar: Child returned status 2
tar: Error is not recoverable: exiting now