Linuxbrew/brew

Vendored Ruby install fails with unhelpful message on i686

lmergner opened this issue · 6 comments

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

  • are reporting a bug others will be able to reproduce and not asking a question or requesting software. If you're not sure or want to ask a question do so on our Discourse: https://discourse.brew.sh. To get software added or changed in Homebrew please file a Pull Request
  • have a problem with brew install (or upgrade, reinstall) a single, Homebrew/homebrew-core formula (not cask) on macOS? If it's a general brew problem please file this issue at Homebrew/brew: https://github.com/Homebrew/brew/issues/new/choose. If it's a Linux problem please file this issue at https://github.com/Linuxbrew/homebrew-core/issues/new/choose. If it's a brew cask problem please file this issue at https://github.com/Homebrew/homebrew-cask/issues/new/choose. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
  • ran brew update and can still reproduce the problem?
  • ran brew doctor, fixed all issues and can still reproduce the problem?
  • ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link?
  • if brew gist-logs didn't work: ran brew config and brew doctor and included their output with your issue?

To help us debug your issue please explain:

  • What you were trying to do (and why)
    Trying to install the base linuxbrew with the vendor-ed ruby on 32-bit Debian 9 (old 2008 macbook)
    $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
  • What happened (include command output)
    Fails with an error from tar (because I think curl returns a 404).
==> Installing Ruby to /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    33    0    33    0     0     95      0 --:--:-- --:--:-- --:--:--    95

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
  • What you expected to happen
    Expected at least a better error message with instructions on how to install a suitable version of ruby or at least a more helpful "Sorry, this arch is not supported.
  • Step-by-step reproduction instructions (by running brew install commands)

Hi. Please always fill out the issue template.

We do not support 32 bit platforms for the time being. See https://docs.brew.sh/Linuxbrew.

Linuxbrew does not currently support 32-bit x86 platforms. It would be possible for Linuxbrew to work on 32-bit x86 platforms with some effort. An interested and dedicated person could maintain a fork of Homebrew to develop support for 32-bit x86.

Yes I understand the architecture is not supported. Could you consider a more helpful error message in such cases?

I think yes. We could bail out directly in this script in case we hit a 32 bit case: https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh

@sjackman What do you think?

I'm not a ruby person so I don't know if I can install a version that linuxbrew supports and indicate that with an env var. If that's possible, it would be nice to document that on the vendor install failure.

I suspect it must be a pain to support error messages like this for every case, but it'd be a bit help to know why the shell one-liner on the website failed.

Thanks.

I've opened PR Linuxbrew/install#46 to check the CPU type. This PR also addresses the issue that ARMv7 would fail to download the appropriate bottle for ARMv6.

I'm not a ruby person so I don't know if I can install a version that linuxbrew supports and indicate that with an env var. If that's possible, it would be nice to document that on the vendor install failure.

As long as you understand that you're in uncharted territory, I'm happy to point you in the right direction. Install a Ruby version ≥ 2.3.7 (ideally exactly version 2.3.7), add it to your PATH, and then run the installation one liner. Feel free to comment here if you run into any more trouble.