Linuxbrew/brew

"Error: Failed to install vendor Ruby"

Merith-TK opened this issue · 12 comments

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

  • ran a brew command
    pi@raspberrypi:~ $ brew /home/pi/.linuxbrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /home/pi/.linuxbrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory ==> Downloading https://linuxbrew.bintray.com/bottles-portable-ruby/portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz Already downloaded: /home/pi/.cache/Homebrew/portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = "en_US.UTF-8", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). ==> Pouring portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz Error: Failed to upgrade vendor ruby. Error: Failed to install vendor Ruby.
  • ran brew update and can still reproduce the problem?
    pi@raspberrypi:~ $ brew update /home/pi/.linuxbrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory Already up-to-date.
  • ran brew doctor, fixed all issues and can still reproduce the problem?
    pi@raspberrypi:~ $ brew doctor /home/pi/.linuxbrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /home/pi/.linuxbrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory ==> Downloading https://linuxbrew.bintray.com/bottles-portable-ruby/portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz Already downloaded: /home/pi/.cache/Homebrew/portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = "en_US.UTF-8", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). ==> Pouring portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz Error: Failed to upgrade vendor ruby. Error: Failed to install vendor Ruby.
  • ran brew config and brew doctor and included their output with your issue?
    pi@raspberrypi:~ $ brew config /home/pi/.linuxbrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /home/pi/.linuxbrew/Library/Homebrew/brew.sh: line 4: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory ==> Downloading https://linuxbrew.bintray.com/bottles-portable-ruby/portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz Already downloaded: /home/pi/.cache/Homebrew/portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = "en_US.UTF-8", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). ==> Pouring portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz Error: Failed to upgrade vendor ruby. Error: Failed to install vendor Ruby.

To help us debug your issue please explain:

  • What you were trying to do (and why)
    Trying to install Linux Brew on my RasPi Zero W

  • What happened (include command output)
    Error: Failed to upgrade/install vendor ruby/Ruby << when i put a slash, thats line1/line2

  • What you expected to happen
    It to work properly

  • Step-by-step reproduction instructions (by running brew commands)
    COMMANDS RAN IN THIS ORDER

git clone https://github.com/Linuxbrew/brew.git ~/.linuxbrew
PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$(brew --prefix)/share/man:$MANPATH"
export INFOPATH="$(brew --prefix)/share/info:$INFOPATH"
nano .profile #adding last three commands to .profile
brew update
brew doctor
brew
brew update
brew doctor
brew config```
Everything involving ruby gave the error
``==> Pouring portable-ruby-2.3.3_2.armv6_linux.bottle.tar.gz
Error: Failed to upgrade vendor ruby.
Error: Failed to install vendor Ruby.``

This bug will hopefully be resolved in Linuxbrew 1.7.7.
See issue #781 for possible work arounds in the mean time.

Alright, a buddy on discord is helping me, thanks,

welp, sadly the official installer script is rude, but the git clone method works, jut thought id let you know about this

pi@raspberrypi:~ $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for pi:
==> 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     19      0 --:--:--  0:00:01 --:--:--    19

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

Hmm. I'm not sure off the top of my head what's wrong with the installer. I'm glad to hear that the git clone installation method worked for you. I'll hopefully have time to pull out my Raspberry Pi this weekend and test it out.

I can let you SSH into my PI-ZeroW if youd like, because thats the target platform we are talking about

Would it be possible to tell LinuxBrew to use Ruby if it was installed from something like apt-get?

I can let you SSH into my PI-ZeroW if youd like, because thats the target platform we are talking about

e-mail me the credentials, though I may still not have time to check it out this week.

Would it be possible to tell LinuxBrew to use Ruby if it was installed from something like apt-get?

The default is to use the host's Ruby if it's version 2.3.7 or newer. What version do you have? You can try…

export HOMEBREW_DEVELOPER=1 HOMEBREW_RUBY_PATH=/usr/bin/ruby

that command worked, gonna add it to my .bashrc , and sending you a SSH key,

Glad to hear it worked! What does /usr/bin/ruby --version report?

ruby 2.3.3p222 (2016-11-21) [arm-linux-gnueabihf]

Sorry for delay, was at school

No worries. Okay, so /usr/bin/ruby is not being used by default because it's older than 2.3.7. I'll hopefully have a new version of portable-ruby 2.3.7 for ARM this weekend.

Okay, so it works, but i am finding LinuxBrew's default instalation slow,

I think it should have a wrapper like
https://github.com/tim241/bunny
and search the users package manager to install the dependancies if they are supported, if not, then use the default method