Linuxbrew-core: Ubuntu Error: Failed to install vendor ruby

Created on 3 Nov 2017  Â·  18Comments  Â·  Source: Homebrew/linuxbrew-core

Please fill out the issue checklist below, and provide all of the requested information.

Please always follow these steps:

  • [ ] Confirmed this is a problem with brew installing one, specific formula and not every time you run brew? If it's a general brew problem please file this issue at https://github.com/Linuxbrew/brew/issues/new.
  • [ ] If you have a macOS system and can replicate the problem on macOS with Homebrew, please report the issue to Homebrew/core and follow their issue template from your macOS system. If you are unsure, please report the issue to Linuxbrew.
  • [x] Ran brew update and retried your prior step?
  • [x] Ran brew doctor, fixed all issues and retried your prior step?
  • [ ] Ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link?
  • [x] 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)
    I wanted to install brew using a Ubuntu 16.04 LTS machine
  • What happened (include command output)
    See my gist
  • What you expected to happen
    I expected it to run smoothly as it did on my Windows PC with Windows Subsystem for Linux
  • Step-by-step reproduction instructions (by running brew install commands)
    Not applicable

Formula additions or changes

To get formulae added or changed in Linuxbrew please file a Pull Request.
To get formulae added or changed that is a dependency of a formula in Linuxbrew/homebrew-core submit a Pull Request to https://github.com/Linuxbrew/homebrew-core/compare
To get formulae added or changed that is not a dependency of a formula in Linuxbrew/homebrew-core submit a Pull Request to https://github.com/Linuxbrew/homebrew-extra/compare
We will close issues requesting formulae changes.

outdated user configuration

Most helpful comment

Of course pull request are welcome if there are fixed here and there that need to be done.

Adding automatic bottling for 32 bit would also be possible, but before doing that, there should be at least one or two more linuxbrew maintainers :)

All 18 comments

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

This is still active. I cannot install Linuxbrew on a standard Ubuntu 16.04 LTS machine and would be happy about advice or a link to further documentation.

This is still active. I cannot install Linuxbrew on a standard Ubuntu 16.04 LTS machine and would be happy about advice or a link to further documentation.

Hi. Here is a Dockerfile that demonstrates that the installation works correctly:

FROM ubuntu:16.04
LABEL maintainer="Michka Popoff <[email protected]>"

RUN apt-get update && apt-get install -y \
    build-essential curl file git

RUN useradd -m -s /bin/bash user

USER user
WORKDIR /home/user
ENV PATH=/home/user/.linuxbrew/bin:/home/user/.linuxbrew/sbin:$PATH \
    SHELL=/bin/bash \
    USER=user

RUN yes | sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" \
    && brew config

CMD ["/bin/bash"]

The script that installs ruby is here: https://github.com/Linuxbrew/install/blob/master/install-ruby
As I can not reproduce this, can somebody run that script locally and try to debug it?

@iMichka what's the process to debug this? I run Ubuntu exclusively and haven't seen this issue but am willing to try to get to the cause of this.

From what I can tell this just downloads and extracts a pre compiled ruby for x86_64 so there isn't really any dependencies required for this to work.

Hi. Thanks for looking into this. As you can't reproduce this, I am not sure how you could help.

The error is:

==> Pouring portable-ruby-2.3.3.x86_64_linux.bottle.1.tar.gz
Error: Failed to install vendor ruby.
Error: Failed to install vendor Ruby.

The idea would be to run the https://github.com/Linuxbrew/install/blob/master/install-ruby script locally and to edit it to add some echos/prints inside it, and to look at what step this fails.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

I'll follow this up as soon as I'm back at my Ubuntu workstation, should be in a week from now!

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

Hello all,
I finally got back and have started adding printouts in the ruby-install script and executing it locally. It fails at this command:

curl -L https://homebrew.bintray.com/bottles-portabl    e/portable-ruby-$version.$tag.bottle.tar.gz \
 | tar -xz -C $prefix

with this error:

./install-ruby.sh
==> 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
  0     0    0     0    0     0      0      0 --:--:-- -100    33    0    33    0     0     64      0 --:--:-- --:--:-- --:--:--    64

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

I have noticed one more thing. When doing brew config or any other brew command, the error message is different now, maybe you can extract more info:

› brew config
Error: Cannot find a vendored version of ruby for your i686
processor on Linuxbrew!
Error: Failed to install vendor Ruby.

Is it b/c you are not on amd64?

I'm running this on a dual boot notebook with windows and Linux installed. Since it's pretty old, I guess I'm on i686 (32 bit processor) rather than amd64. Once I come back home I can check the architecture, for now I'm guessing. Does that make a difference? What can I do?

The error message seems to indicate that it wants to install the x86_64 version of ruby but your architecture won't support that. Perhaps there is a brew option to force it to build from source rather than trying to download the bottled version?

I can't find such an option. Maybe someone knows if this exists?

Also, I have a version of ruby installed! (ruby 2.3.1p112 (2016-04-26) [i386-linux-gnu]) Why doesn't it pick that up? Maybe there's a config file somewhere where I can point it at my ruby binary?

We do not officially support 32 bit processors, due to lack of funding/time/maintainers. But builds may work on a case by case basis.

Brew will try to install a portable ruby version. We do not provide a 32 bit version if I remember well. So I guess that if you want to work on this you will need to build that ruby version. We have some instructions for this here: https://github.com/Linuxbrew/brew/wiki/Build-a-portable-bottle

Please note that we will not be able to provide much support for 32 bit stuff.

That's enough info already and I fully understand that your resources might be better invested elsewhere. I will try my luck and if I succeed, report it here. Thanks for the links!

I think we can close this issue as it only pertains to x86 architectures not being supported.

Of course pull request are welcome if there are fixed here and there that need to be done.

Adding automatic bottling for 32 bit would also be possible, but before doing that, there should be at least one or two more linuxbrew maintainers :)

Was this page helpful?
0 / 5 - 0 ratings