Git Product home page Git Product logo

brew's Introduction

Linuxbrew logo

Linuxbrew has been merged into Homebrew

Linuxbrew/brew has been merged into Homebrew/brew! Existing installations of Linuxbrew will be automatically migrated to Homebrew. Linuxbrew/brew will no longer be updated. See the Homebrew documentation of Linuxbrew and the Homebrew 2.0.0 blog post.

Homebrew officially supports Linux and Windows 10 with Windows Subsystem for Linux (WSL). “Homebrew on Linux” is called “Linuxbrew”. You can install it in your home directory, so it does not require sudo, and use it to install software that your host distribution’s package manager does not provide. Linuxbrew uses its own repository for formulae: Linuxbrew/homebrew-core.

Linuxbrew

GitHub release

The Homebrew package manager may be used on Linux and Windows 10, using Windows Subsystem for Linux (WSL). Homebrew is referred to as Linuxbrew when running on Linux or Windows. It can be installed in your home directory, in which case it does not use sudo. Linuxbrew does not use any libraries provided by your host system, except glibc and gcc if they are new enough. Linuxbrew can install its own current versions of glibc and gcc for older distribution of Linux.

Features, dependencies and installation instructions are described below. Terminology (e.g. the difference between a Cellar, Tap, Cask and so forth) is explained in the documentation.

Features

  • Can install software to your home directory and so does not require sudo
  • Install software not packaged by your host distribution
  • Install up-to-date versions of software when your host distribution is old
  • Use the same package manager to manage your macOS, Linux, and Windows systems

Install

Paste at a terminal prompt:

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

The installation script installs Linuxbrew to /home/linuxbrew/.linuxbrew using sudo if possible and in your home directory at ~/.linuxbrew otherwise. Linuxbrew does not use sudo after installation. Using /home/linuxbrew/.linuxbrew allows the use of more binary packages (bottles) than installing in your personal home directory.

Follow the Next steps instructions to add Linuxbrew to your PATH and to your bash shell profile script, either ~/.profile on Debian/Ubuntu or ~/.bash_profile on CentOS/Fedora/RedHat.

test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile

You're done! Try installing a package:

brew install hello

If you're using an older distribution of Linux, installing your first package will also install a recent version of glibc and gcc. Use brew doctor to troubleshoot common issues.

Dependencies

  • GCC 4.4 or newer
  • Linux 2.6.32 or newer
  • Glibc 2.12 or newer
  • 64-bit x86 CPU

Paste at a terminal prompt:

Debian or Ubuntu

sudo apt-get install build-essential curl file git

Fedora, CentOS, or Red Hat

sudo yum groupinstall 'Development Tools' && sudo yum install curl file git

Raspberry Pi

Linuxbrew can run on Raspberry Pi (32-bit ARM), but no binary packages (bottles) are available. Support for Raspberry Pi is on a best-effort basis. Pull requests are welcome to improve the experience on Raspberry Pi.

32-bit x86

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.

Alternative Installation

Extract or git clone Linuxbrew wherever you want. Use /home/linuxbrew/.linuxbrew if possible.

git clone https://github.com/Homebrew/brew ~/.linuxbrew/Homebrew
mkdir ~/.linuxbrew/bin
ln -s ../Homebrew/bin/brew ~/.linuxbrew/bin
eval $(~/.linuxbrew/bin/brew shellenv)

What Packages Are Available?

  1. Type brew search for a list.
  2. Or visit formulae.brew.sh to browse packages online.
  3. Or use brew search --desc <keyword> to browse packages from the command line.

More Documentation

brew help, man brew or check our documentation.

Troubleshooting

First, please run brew update and brew doctor.

Second, read the Troubleshooting Checklist.

If you don't read these it will take us far longer to help you with your problem.

Contributing

We'd love you to contribute to Linuxbrew. First, please read our Contribution Guide and Code of Conduct. Please see our guidelines on whether to send pull requests to Linuxbrew or Homebrew.

We explicitly welcome contributions from people who have never contributed to open-source before: we were all beginners once! We can help build on a partially working pull request with the aim of getting it merged. We are also actively seeking to diversify our contributors and especially welcome contributions from women from all backgrounds and people of colour.

A good starting point for contributing is running brew audit --strict with some of the packages you use (e.g. brew audit --strict wget if you use wget) and then read through the warnings, try to fix them until brew audit --strict shows no results and submit a pull request. If no formulae you use have warnings you can run brew audit --strict without arguments to have it run on all packages and pick one.

Alternatively, for something more substantial, check out one of the issues labeled help wanted in Homebrew/brew or Homebrew/homebrew-core.

Good luck!

Security

Please report security issues to our HackerOne.

Who Are You (Linuxbrew)?

Linuxbrew's lead maintainer is Shaun Jackman.

Linuxbrew/homebrew-core's lead maintainer is Michka Popoff.

Linuxbrew's other current maintainers are Piotr Gaczkowski, Maxim Belkin, Jonathan Chang, and Alyssa Ross.

Former Linuxbrew maintainers with significant contributions include Bob W. Hogg.

Who Are You (Homebrew)?

Homebrew's lead maintainer is Mike McQuaid.

Homebrew's project leadership committee is Mike McQuaid, Misty De Meo and Markus Reiter.

Homebrew/brew's other current maintainers are Claudia Pellegrino, Michka Popoff, Shaun Jackman, Chongyu Zhu, Vitor Galvao, Misty De Meo, Gautham Goli, Markus Reiter, Steven Peters, Jonathan Chang and William Woodruff.

Homebrew/brew's Linux support (and Linuxbrew) maintainers are Michka Popoff and Shaun Jackman.

Homebrew/homebrew-core's other current maintainers are Claudia Pellegrino, Igor Kapkov, Michka Popoff, Shaun Jackman, Chongyu Zhu, Izaak Beekman, Sean Molenaar, Jan Viljanen, Jason Tedor, Viktor Szakats, FX Coudert, Thierry Moisan, Steven Peters, Misty De Meo and Tom Schoonjans.

Former maintainers with significant contributions include JCount, commitay, Dominyk Tiller, Tim Smith, Baptiste Fontaine, Xu Cheng, Martin Afanasjew, Brett Koonce, Charlie Sharpsteen, Jack Nagel, Adam Vandenberg, Andrew Janke, Alex Dunn, neutric, Tomasz Pajor, Uladzislau Shablinski, Alyssa Ross, ilovezfs and Homebrew's creator: Max Howell.

Linuxbrew Community

License

Code is under the BSD 2-clause "Simplified" License. Documentation is under the Creative Commons Attribution license.

Donations

Linuxbrew is a non-profit project run entirely by unpaid volunteers. We need your funds to pay for continuous integration and the computer resources used to build precompiled binary bottles of your favourite formulae. Every donation will be spent on making Linuxbrew better for our users.

Please consider donating regularly to Linuxbrew through Patreon. We appreciate your support and contribution, no matter the level.

Donate with Patreon

Linuxbrew is a fork of Homebrew, the macOS package manager, for Linux. Please consider donating to Homebrew as well if you use Homebrew on macOS.

Donate with Patreon

Sponsors

Our binary packages (bottles) are built on CircleCI and hosted by Bintray.

CircleCI logo

Downloads by Bintray

brew's People

Contributors

adamv avatar alyssais avatar amyspark avatar apjanke avatar bfontaine avatar commitay avatar dependabot-support avatar domt4 avatar dunn avatar ericfromcanada avatar gauthamgoli avatar ilovezfs avatar jacknagel avatar jawshooah avatar jcount avatar mansimarkaur avatar maxim-belkin avatar mikemcquaid avatar mistydemeo avatar mxcl avatar reitermarkus avatar samueljohn avatar sharpie avatar sjackman avatar tdsmith avatar uniqmartin avatar vladshablinsky avatar woodruffw avatar xu-cheng avatar zmwangx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brew's Issues

brew audit --strict: Error: empty

Please follow the general troubleshooting steps first:

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?
  • If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

Bug reports:

Run brew audit --strict on any formula. It will fail and report

Error: empty
Please report this bug:
    https://github.com/Linuxbrew/brew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting
/home/bob/.linuxbrew/Library/Homebrew/utils/json.rb:12:in `rescue in load'
/home/bob/.linuxbrew/Library/Homebrew/utils/json.rb:10:in `load'
/home/bob/.linuxbrew/Library/Homebrew/cmd/style.rb:68:in `check_style_impl'
/home/bob/.linuxbrew/Library/Homebrew/cmd/style.rb:45:in `check_style_json'
/home/bob/.linuxbrew/Library/Homebrew/cmd/audit.rb:62:in `audit'
/home/bob/.linuxbrew/Library/brew.rb:87:in `<main>'

Note that a standard audit without any options works fine.

utils/analytics.sh: line 38: uuidgen: command not found

Please follow the general troubleshooting steps first:

  • Ran brew update and retried your prior step?

I ran brew update and brew upgrade and started seeing this error with all commands afterwards.

/home/users/mikaela/.local/Library/Homebrew/utils/analytics.sh: line 38: uuidgen: command not found
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?

It told me that I am missing bzip2 which I installed which didn't change anythig.

  • If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

I don't and I am not root.

Bug reports:

% brew update
/home/users/mikaela/.local/Library/Homebrew/utils/analytics.sh: line 38: uuidgen: command not found
Already up-to-date.

I see this same error with all brew commands I run.

How to install from a downloaded package?

I am using linux brew, but it seems the network seems unstable. So I downloaded the zip package by hand, and want to know how to make linux brew install it automatically.

Can't link with -lX11

I've used linuxbrew to install gcc 5.3 on a machine on which I don't have sudo access. I now want to link with X11:

> gcc test.c -lX11
ld: cannot find -lX11

I've checked that libX11.so exists in /usr/lib64/ which is on the compiler's LIBRARY_PATH. If I use the system's gcc it works fine, but I need a newer version to compile my actual program.

git: cannot execute binary file: Exec format error

git includes 114 hard links to the same git executable. Running patchelf on the same executable 64 times breaks it and gives the above error message. We can work around this issue by checking whether the executable has already been patched and skip it if so.

I've opened an upstream patchelf issue: NixOS/patchelf#96

audit: Broken pipe - `brew audit --strict --online java.rb` on ubuntu 16.04

Bug reports:

Running brew audit --strict --online java.rb for first time on ubuntu 16.04 runs into Broken pipe

brew audit --strict --online jdk
==> Installing or updating 'rubocop' gem
Fetching: unicode-display_width-1.0.5.gem (100%)
Successfully installed unicode-display_width-1.0.5
Fetching: ruby-progressbar-1.8.0.gem (100%)
Successfully installed ruby-progressbar-1.8.0
Fetching: rainbow-2.1.0.gem (100%)
Successfully installed rainbow-2.1.0
Fetching: powerpack-0.1.1.gem (100%)
Successfully installed powerpack-0.1.1
Fetching: ast-2.2.0.gem (100%)
Successfully installed ast-2.2.0
Fetching: parser-2.3.1.0.gem (100%)
Successfully installed parser-2.3.1.0
Fetching: rubocop-0.39.0.gem (100%)
Successfully installed rubocop-0.39.0
7 gems installed
Error: Broken pipe

Fix :osxfuse requirement for Linuxbrew

I am trying to install sshfs on a linux box, I do not have sudo privileges for. I understand sshfs is available via apt-get and yum. But I do not have access to those.

Is there a way to install sshfs via brew, on linux?

brew install sshfs
Error: No available formula for sshfs
==> Searching formulae...
==> Searching taps...
homebrew/fuse/sshfs

Using homebrew tap fails

[sseth@sharklogin2 2.7]$ brew install homebrew/fuse/sshfs
==> Tapping homebrew/fuse
Cloning into XXXXXXXXXXXXXXXXXXXX/.linuxbrew/Library/Taps/homebrew/homebrew-fuse'...
remote: Counting objects: 33, done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 33 (delta 0), reused 20 (delta 0), pack-reused 0
Unpacking objects: 100% (33/33), done.
Checking connectivity... done.
Tapped 27 formulae (84 files, 512K)
==> Installing sshfs from homebrew/homebrew-fuse
==> Tapping homebrew/dupes
Cloning into 'XXXXXXXXXXXXXXXXXXXX/.linuxbrew/Library/Taps/homebrew/homebrew-dupes'...
remote: Counting objects: 42, done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 42 (delta 0), reused 16 (delta 0), pack-reused 0
Unpacking objects: 100% (42/42), done.
Checking connectivity... done.
Tapped 0 formulae (103 files, 512K)
==> Installing dependencies for homebrew/fuse/sshfs: homebrew/dupes/m4, autoconf, automake, libtool, gettext, osxfuse, libffi, glib
==> Installing homebrew/fuse/sshfs dependency: homebrew/dupes/m4
==> Downloading http://ftpmirror.gnu.org/m4/m4-1.4.17.tar.xz
######################################################################## 100.0%
Error: SHA256 mismatch
Expected: f0543c3beb51fa6b3337d8025331591e0e18d8ec2886ed391f1aade43477d508
Actual: 3eb6fa09bb45130010f47327d81815468e58edf93893a46dcf47249d043aa0e6
Archive: XXXXXXXXXXXXXXXXXXXX/Homebrew/m4-1.4.17.tar.xz
To retry an incomplete download, remove the file above.

Proxy and Connection timed out errors

Hi Linuxbrew people. Thanks for this amazing tool! This is not a bug report, but more a note for people running Linuxbrew behind a proxy, who are stuck with a Connection timed out - connect(2) error.

The proxy environment variable (all_proxy, http_proxy...), which should be lower case, has to be upper case (ALL_PROXY, HTTP_PROXY...) for some components of Linuxbrew (at least, Ruby or Curl).

Not a major discovery, but it may help some.

List of essential formula

I'd like to create a list of essential formula, with which it's possible to replace the PATH entirely with PATH=$(brew --prefix)/bin and Linuxbrew will still work to install formula. I'd also like to make it easy to install those essential formula with something like brew install essentials

bash
binutils
coreutils
curl
file-formula
findutils
gawk
gcc
git
gnu-sed
gnu-tar
gnu-which
grep
make
ruby
util-linux

openexr: Can Linux detect bootstrap first?

Bug reports:

I am installing openexr, the linux brew fails. I download source code and find that a bootstrap script should be run first. Can Linux brew detect it automatically?

brew standalone: "invalid instruction"

Hi,

I'm trying to do something perhaps a bit tricky for you but here is my use case.
I'm using linuxbrew to provide software on our plateform.

  • The software repository is distributed to all the servers using the CernVM-FS file system (https://cernvm.cern.ch/portal/filesystem).
  • it's always mount to the same directory into the servers (/cvmfs/neugrid.egi.eu/software/x86_64/).
  • All the servers are running Scientific Linux release 6 (64bit)

In order to properly build the softwares, I'm using a Docker image based on "centos:6.7" into which I install all the needed requirements to start with linuxbrew. I want a fully standalone installation to prevent issues.

I started the installation like this:

brew install gcc --with-glibc
brew install git
brew install coreutils findutils gawk gnu-sed gnu-which grep make bash ruby
export PATH=$LINUXBREW_PATH/bin:$LINUXBREW_PATH/sbin
brew install hello --build-from-source --verbose && brew test hello; 

and of course I installed many more things.

Everything is working fine inside my docker image but when I try to use it inside one of the real final server everything is broken:

[jerome@srv16 ~]$ brew
Error: No Ruby found, cannot proceed.
[jerome@srv16 ~]$ env
invalid instruction
[jerome@srv16 ~]$ cat /etc/redhat-release 
invalid instruction

Could you please advise me ?

Best,
Jerome

How to link with -lGL

I'm compiling an application with -lGL, and this predictably fails because brew's ld doesn't use /usr/lib64. However, I can't figure out how to get a brew-compatible libGL.so. I tried brew installing a some packages such as homebrew/x11/freeglut and glew, to no avail. I even tried installing homebrew/x11/mesalib-glw but it failed with missing -lGL - I would have expected this package to at least bring in the right dependencies that provide libGL.so. This makes me suspect that there is no way to link with -lGL outside of manually changing each -lGL to /usr/lib64/libGL.so, which I hear may cause problems.

brew tests fails with TabTests#test_defaults reporting the wrong compiler

Please follow the general troubleshooting steps first:

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?
  • If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

Bug reports:

brew tests fails with the following error.

  1) Failure:
TabTests#test_defaults [/home/bob/.linuxbrew/Library/Homebrew/test/test_tab.rb:35]:
--- expected
+++ actual
@@ -1 +1 @@
-:clang
+:gcc


853 runs, 2098 assertions, 1 failures, 0 errors, 12 skips

You have skipped tests. Run with --verbose for details.
rake aborted!
Command failed with status (1): [ruby -I"lib:/home/bob/.linuxbrew/Library/Homebrew/test" -I"/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib" "/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_dependency_collector.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_commands.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_diagnostic.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_options.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_compiler_selector.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_hardware.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formula_validation.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_pathname.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_build_environment.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_version_subclasses.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_inreplace.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formula_installer.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_keg.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_checksum.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_mach.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_cleanup.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_checksum_verification.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formula_pin.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_mpi_requirement.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_tap.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_bottle_filename.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_download_strategies.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_patching.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_cmd_info.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_integration_cmds.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_utils.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_x11_requirement.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_bottle_hooks.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_stdlib.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_language_module_requirement.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_patch.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_dependency.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formula_installer_bottle.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_pkg_version.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formula_lock.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_versions.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_cleaner.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_json.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formulary.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formula_support.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_sandbox.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_dependencies.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_exceptions.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_bottle_collector.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_caveats.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_migrator.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_update_report.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formula.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_resource.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_ARGV.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_software_spec.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_formula_spec_selection.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_ENV.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_cmd_audit.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_string.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_dependency_expansion.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_descriptions.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_tab.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_bash.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_compiler_failure.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_requirement.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_blacklist.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_build_options.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_language_go.rb" "/home/bob/.linuxbrew/Library/Homebrew/test/test_bottle_tag.rb" ]
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/testtask.rb:109:in `block (3 levels) in define'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/file_utils.rb:57:in `sh'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb:37:in `sh'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/file_utils.rb:96:in `ruby'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb:37:in `ruby'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/testtask.rb:105:in `block (2 levels) in define'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb:58:in `verbose'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/testtask.rb:101:in `block in define'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/task.rb:240:in `block in execute'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/task.rb:235:in `each'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/task.rb:235:in `execute'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/home/bob/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/task.rb:165:in `invoke'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:150:in `invoke_task'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `each'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:106:in `block in top_level'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:115:in `run_with_threads'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:100:in `top_level'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:78:in `block in run'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/application.rb:75:in `run'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/bin/rake:33:in `<top (required)>'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/bin/rake:23:in `load'
/home/bob/.linuxbrew/Library/Homebrew/test/vendor/bundle/ruby/2.3.0/bin/rake:23:in `<top (required)>'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:in `load'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:in `kernel_load'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:24:in `run'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli.rb:304:in `exec'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli.rb:11:in `start'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/exe/bundle:27:in `block in <top (required)>'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/friendly_errors.rb:98:in `with_friendly_errors'
/home/bob/.linuxbrew/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/exe/bundle:19:in `<top (required)>'
/home/bob/.gem/ruby/2.3.0/bin/bundle:23:in `load'
/home/bob/.gem/ruby/2.3.0/bin/bundle:23:in `<main>'
Tasks: TOP => test

How properly change compiler?

Please follow the general troubleshooting steps first:

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?
  • If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

Bug reports:

logs - http://pastebin.com/iMT9sDT3 ,
gcc/cc outputs - http://pastebin.com/8TQs04Db

i'm trying to install new glibc on ubuntu 12.04, but threre's bug with glibc and gcc-4.7. I tried to change compiler with -cc option, but have no luck. Unfortunately, i haven't sudo on this server. Any idea, how can i fix it?

install: Fails with git < 1.7.10

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"
==> This script will install:
/home/testuser/.linuxbrew/bin/brew
/home/testuser/.linuxbrew/Library/...
/home/testuser/.linuxbrew/share/doc/homebrew
/home/testuser/.linuxbrew/share/man/man1/brew.1
/home/testuser/.linuxbrew/share/zsh/site-functions/_brew
/home/testuser/.linuxbrew/etc/bash_completion.d/brew
/home/testuser/.cache/Homebrew/

Press RETURN to continue or any other key to abort
==> Downloading and installing Linuxbrew...
error: could not lock config file /home/testuser/.linuxbrew/.git/config: No such file or directory
==> Tapping homebrew/core
error: unknown option `config'
usage: git clone [options] [--] <repo> [<dir>]

    -v, --verbose         be more verbose
    -q, --quiet           be more quiet
    --progress            force progress reporting
    -n, --no-checkout     don't create a checkout
    --bare                create a bare repository
    --mirror              create a mirror repository (implies bare)
    -l, --local           to clone from a local repository
    --no-hardlinks        don't use local hardlinks, always copy
    -s, --shared          setup as shared repository
    --recursive           initialize submodules in the clone
    --template <path>     path the template repository
    --reference <repo>    reference repository
    -o, --origin <branch>
                          use <branch> instead of 'origin' to track upstream
    -b, --branch <branch>
                          checkout <branch> instead of the remote's HEAD
    -u, --upload-pack <path>
                          path to git-upload-pack on the remote
    --depth <depth>       create a shallow clone of that depth

Error: Failure while executing: git clone https://github.com/Linuxbrew/homebrew-core /home/testuser/.linuxbrew/Library/Taps/homebrew/homebrew-core --config core.autocrlf=false --depth=1
Failed during: /home/testuser/.linuxbrew/bin/brew tap homebrew/core
$ cat /etc/redhat-release
CentOS release 6.5 (Final)
$ git --version
git version 1.7.1

git clone doesn't seem to have --config option in version 1.7.1

I was wondering if I can't install linuxbrew on older centos 6.5, how can i install newer packages on older distribution.

FYI, I can't upgrade git on this server, as I do not have permissions to do so.

Highly appreciate it, If you could fix the linuxbrew install script to handle it. 👍

uninstall fails

==> Removing Homebrew installation...
/usr/bin/find: unknown predicate `-E'
Warning: Failed during: /usr/bin/find -E /home/bob/.linuxbrew/bin /home/bob/.linuxbrew/etc /home/bob/.linuxbrew/share -regex .*/info/([^.][^/]*.info|dir) -exec /bin/bash -c /usr/bin/install-info\ --delete\ --quiet\ {}\ "$(dirname\ {})/dir" ;
==> Removing empty directories...
rmdir: failed to remove '/home/bob/.linuxbrew': Directory not empty
Warning: Homebrew partially uninstalled (but there were steps that failed)!
To finish uninstalling rerun this script with `sudo`.
The following possible Homebrew files were not deleted:
/home/bob/.linuxbrew/docker.test.yml
rmdir: failed to remove '/home/bob/.linuxbrew'/home/bob/.linuxbrew/lib64 -> /home/bob/.linuxbrew/lib
: Directory not empty/home/bob/.linuxbrew/Dockerfile
You may consider to remove them by yourself.

This might be invalid (i.e. my fault), but reporting it here just in case.

Linuxbrew Updates

Subscribe to this issue to receive news about significant developments related to Linuxbrew.

Using linuxbrew like easybuild to maintain an application tree.

I'm not sure where to bring this up, this seems to be the best place to start.

I'm helping to set up a new HPC cluster environment (second prize is getting to set up two such environments...). I'm thinking through how to provide applications.

One traditional approach is to install stuff into subdirectories of /yada-yada/apps, each app gets a directory and each version of the app gets a subdirectory. Users can pick and choose their environment via e.g. Lmod. In most settings, each app directory is a handcrafted snowflake. If one is lucky, there are REAMDE's [SIC], etc...

The use case (community, tradition,...) is different from the standard brew setup, where the canonical version of everything is linked into a common directory (~/.linuxbrew, /usr/local, ...).

EasyBuild brings a bit of sanity into this world, providing scripted builds and automagically generating modulefiles (for e.g. Lmod). They're very HPC-centric, worrying about building with multiple compiler toolchains and etc.... Their "recipe" database isn't as diverse or as current as it might be and their recipe support is primitive compared to what I'm used to in brew (e.g. I see no support for signatures for tarballs).

It seems that linuxbrew could be a nice alternative:

  • We could tap (see what I did there???) into all of the existing Formulas.
  • Recipes are easy to write, testing is well supported, etc...
  • Multiple versions can be installed simultaneously.
  • Modulefiles could be simple, just put the appropriate Cellar/{app}/bin dir onto PATH, perhaps set MANPATH, et viola [SIC].

There are questions though:

  • Is there a way to just skip the "linking things to /usr/local (or ~/.linuxbrew, or wherever), and if so will apps be able to find their prerequisites?
  • Updates could be crazymaking, but I think that the complexity is inherent in the world, not added by linuxbrew (if I want to install recently added app blah, does that mean I update the git repo, if so, how/when do I update the rest of the apps, etc...
  • What happens to the outdated Formula (my users need FooBar-2000, even though the rest of the world has moved on and the FooBar formula now stands at FooBar-2019)?

I'd love to see a discussion of people wanting/doing similar things, but not sure where to ask.

patchelf: Fails on static executables: cannot find section .interp

From @sjackman on March 29, 2016 22:53

https://travis-ci.org/Linuxbrew/linuxbrew/builds/119350327#L2890

/home/travis/build/Linuxbrew/linuxbrew/Cellar/patchelf/0.9/bin/patchelf --set-rpath @@HOMEBREW_PREFIX@@/lib --set-interpreter /lib64/ld-linux-x86-64.so.2 /home/travis/build/Linuxbrew/linuxbrew/Cellar/afl-fuzz/2.09b/share/afl/testcases/others/elf/small_exec.elf 
cannot find section .interp
Error: undefined method `write' for nil:NilClass

Copied from original issue: Linuxbrew/legacy-linuxbrew#1005

Create a :tcl requirement

From @rwhogg on April 2, 2016 17:7

Spun off from #1019 to address the problem of depending on tcl-tk without Tk support.

The plan is as follows (quoting from @sjackman):

create a :tcl Requirement that installs tcl-tk --without-tk by default but is satisfied by any installation of tcl-tk, including possibly the host's.

IMO, this should be a requirement in its own file so that other formulae beyond just postgres can use it.

Copied from original issue: Linuxbrew/legacy-linuxbrew#1034

Can only run brew installed programs from one system

There is a couple systems that I can ssh between and use with my user profile at work. I installed some software with brew using system A and it works fine there but if I go to system B and run any brew installed programs I get this error 'Illegal instruction (core dumped)'. Running brew itself does not throw any errors on either system however just the brew installed software.

gcc versions change causing compilation issues?

Please follow the general troubleshooting steps first:

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?

Bug reports:

Installation on Ubuntu 14.04 of packages switches compilers halfway through leading to broken packages. Ubuntu comes with gcc 4.8.4. I installed linuxbrew on a fresh machine with the script on linuxbrew.sh. I also installed the packages recommended with apt-get on the same page, added the appropriate items to my ~/.bashrc and opened a new terminal window.

I then ran:

brew tap homebrew/science
brew tap ahundt/robotics
brew install grl

The second is one of my package sets that I most frequently run on OS X, and grl is a library in that package set. After installing quite a few packages it began installing gcc 5.2 and switched to that by default. I think that switch subsequently causes issues in compilation.

https://gist.github.com/d7463d0b445b9823c1c0522f2928f781

Qt5: please add bottle

I want to use linuxbrew with Tavis to unify my build scripts. But the compile time too long and exceed the time limits in Travis.

Disable brew cask

Display a message that brew cask distributes Mac applications and is not available for Linuxbrew.

Relocate RPATH

When installing a bottle, Linuxbrew uses patchelf to wipe out the existing RPATH and replace it with $HOMEBREW_PREFIX/lib, which is overly simplistic. The fix is pretty straight forward. The RPATH in the bottle needs to fixed up to relocate @@HOMEBREW_PREFIX@@ to $HOMEBREW_PREFIX and then add $HOMEBREW_PREFIX/lib if it's missing, probably to the end of the list.

FAQ points to Homebrew un-install script, not Linuxbrew

In document brew/share/doc/homebrew/FAQ.md (in the Linuxbrew repo even though that filepath says "homebrew") the section "How do I uninstall Homebrew?" points (twice) to the Homebrew un-install script as opposed to the Linuxbrew one.

The Homebrew script contains a couple of things that don't work on Linux (at least not on my Debian-derived flavor).

Currently, the Homebrew & Linuxbrew versions of the file are identical. I have made my own version of the script, trying to fix the issues I found. My attempted fixes may show up on Github soon.

Maybe there should also be a general (edited, not purely automatic) search-and-replace of "Homebrew" to "Linuxbrew" in the Linuxbrew documentation?

Thanks for checking into this.

Problems installing on Chrome OS

From @spaceface777 on April 26, 2016 15:1

I have tried installing Linuxbrew on Chrome OS (https://goo.gl/gUFvzc) multiple times already, but it doesn't work. The installation fails at line "brew install hello && brew test hello && brew remove hello". When I run the command it gives me the error message "/bin/bash: symbol lookup error: /bin/bash: undefined symbol: rl_signal_event_hook". I have also tried running "brew update" but running any brew command gives me the same error. Chromebrew works with no problem, though.
If it helps, my Chromebook info is the following:
Version 52.0.2715.0 canary (64-bit)
Platform 8240.0.0 (Official Build) canary-channel falco
Firmware Google_Falco.4389.92.0

Copied from original issue: Linuxbrew/legacy-linuxbrew#1098

Bottle dependencies not handled correctly when main formula installed from source

Please follow the general troubleshooting steps first:

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?

Bug reports:

On a clean linuxbrew/linuxbrew Docker image running brew install --build-from-source glibc fails as bottles has not been relocated properly. This happens as patchelf is unavailable on such system.

Output:

==> Installing dependencies for glibc: zlib, binutils, linux-headers
==> Installing glibc dependency: zlib
==> Downloading http://zlib.net/zlib-1.2.8.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/home/linuxbrew/.linuxbrew/Cellar/zlib/1.2.8
==> make install
/home/linuxbrew/.linuxbrew/Cellar/zlib/1.2.8: 11 files, 395.9K, built in 37 seconds
==> Installing glibc dependency: binutils
==> Downloading http://ftpmirror.gnu.org/binutils/binutils-2.26.tar.gz
==> Downloading from http://ftp.task.gda.pl/pub/gnu/binutils/binutils-2.26.tar.gz
######################################################################## 100.0%
==> ./configure  --with-sysroot=/ --prefix=/home/linuxbrew/.linuxbrew/Cellar/binutils/2.26 --infodir=/home/linuxbrew/.linuxbrew/Cellar/binutils/2.26/share/info --mandir=/home/lin
==> make
==> make install
/home/linuxbrew/.linuxbrew/Cellar/binutils/2.26: 3,178 files, 192.4M, built in 10 minutes 20 seconds
==> Installing glibc dependency: linux-headers
==> Downloading https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.18.27.tar.gz
######################################################################## 100.0%
==> make headers_install INSTALL_HDR_PATH=/home/linuxbrew/.linuxbrew/Cellar/linux-headers/3.18.27
/home/linuxbrew/.linuxbrew/Cellar/linux-headers/3.18.27: 742 files, 3.5M, built in 1 minute 57 seconds
==> Installing glibc
==> Downloading http://ftpmirror.gnu.org/glibc/glibc-2.19.tar.bz2
==> Downloading from http://ftp.task.gda.pl/pub/gnu/glibc/glibc-2.19.tar.bz2
######################################################################## 100.0%
==> ../configure --disable-debug --disable-dependency-tracking --disable-silent-rules --prefix=/home/linuxbrew/.linuxbrew/Cellar/glibc/2.19 --enable-obsolete-rpc --without-selinu
Last 15 lines from /home/linuxbrew/.cache/Homebrew/Logs/glibc/01.configure:
checking for gnumake... no
checking for gmake... no
checking for make... make
checking version of make... 3.81, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... no
checking for makeinfo... no
checking for sed... sed
checking version of sed... 4.2.2, ok
checking for gawk... no
checking for nm... nm
configure: error: 
*** These critical programs are missing or too old: gawk
*** Check the INSTALL file for required versions.

neovim: Use system Python if possible

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?

Actual behaviour:

I install neovim with brew install neovim/neovim/neovim and it also installs its own python in $HOME/.linuxbrew/bin/python clobbering system /usr/bin/python (because during brew installation PATH was updated with export PATH="$HOME/.linuxbrew/bin:$PATH"). Is there any way to install neovim without clobbering my system python?

$ which python
/home/kossak/.linuxbrew/bin/python

Expected behaviour

$ which python
/usr/bin/python

Steps to reproduce:

brew install neovim/neovim/neovim
which python

Don't know where the bug is so i also posted this on homebrew-neovim

My system specs:

System:    Kernel: 3.19.0-32-generic x86_64 (64 bit gcc: 4.8.2) Desktop: Cinnamon 2.8.8 (Gtk 2.24.23) dm: mdm
           Distro: Linux Mint 17.3 Rosa

Pythons (i moved brew as the last path in $PATH with export PATH="$PATH:$HOME/.linuxbrew/bin"):


$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/kossak/.fzf/bin:/home/kossak/.dotfiles/bin:/home/kossak/.dotfiles.local/bin:/home/kossak/.linuxbrew/bin:/home/kossak/.dotfiles/bin:/home/kossak/.dotfiles.local/bin:/home/kossak/.linuxbrew/bin

$ which python python2 python3
/usr/bin/python
/usr/bin/python2
/usr/bin/python3

$ python -V; python2 -V; python3 -V;
Python 2.7.6
Python 2.7.6
Python 3.4.3

$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip2
/usr/local/bin/pip3

$ pip -V; pip2 -V; pip3 -V;
pip 8.1.2 from /usr/local/lib/python3.4/dist-packages (python 3.4)
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
pip 8.1.2 from /usr/local/lib/python3.4/dist-packages (python 3.4)

$ /home/kossak/.linuxbrew/bin/python -V
Python 2.7.11

I installed brew with ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"

python3: build error

It reliably takes two invocations of

brew install python3

to install python3. The first invocation only installs the dependencies. The second invocation actually installs python3

platform: Ubuntu 14.04 LTS installed via

echo "export HOMEBREW_MAKE_JOBS=4" >> ~/.profile

# linuxbrew
echo | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"
echo 'PATH=~/.linuxbrew/bin:$PATH' >> ~/.profile

. $HOME/.profile

brew update
brew install python3

can't disable analytics

Installed linuxbrew on CentOS 6.5 (thanks to #16 fix). However, when I tried to opt out of analytics, it threw the following error -

$ brew analytics off
error: could not lock config file /home/testuser/.linuxbrew/.git/config: No such file or directory
Error: Failure while executing: git config --file=/home/testuser/.linuxbrew/.git/config --replace-all homebrew.analyticsdisabled true

openssl upgrade/reinstall fails when using brewed Ruby

Seems there is a lot of work before a truly Standalone Linuxbrew installation would be possible, but we're slowly getting there :)

Error log:

brew reinstall openssl
==> Reinstalling openssl
/home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': libcrypto.so.1.0.0: cannot open shared object file: No such file or directory - /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/x86_64-linux/digest/md5.so (LoadError)
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Library/Homebrew/formulary.rb:1:in `<top (required)>'
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Library/Homebrew/formula.rb:8:in `<top (required)>'
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Library/Homebrew/extend/ENV/shared.rb:1:in `<top (required)>'
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Library/Homebrew/extend/ENV.rb:2:in `<top (required)>'
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Cellar/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/doomhammer/.linuxbrew/Library/Homebrew/build.rb:10:in `<main>'
Error: Suspicious failure

glibc: cannot compute suffix of object files: cannot compile

Please follow the general troubleshooting steps first:

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?
  • If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

You can erase any parts of this template not applicable to your Issue.

Bug reports:

I am trying to install tmux, but I got:

brew install tmux
==> Installing dependencies for tmux: glibc, xz, gmp, gpatch, mpfr, libmp
==> Installing tmux dependency: glibc
==> Downloading http://ftpmirror.gnu.org/glibc/glibc-2.19.tar.bz2
Already downloaded: /home/zihao.fzh/.cache/Homebrew/glibc-2.19.tar.bz2
==> ../configure --disable-debug --disable-dependency-tracking --disable-silent-
Last 15 lines from /home/zihao.fzh/.cache/Homebrew/Logs/glibc/01.configure:
--disable-debug
--disable-dependency-tracking
--disable-silent-rules
--prefix=/home/zihao.fzh/.linuxbrew/Cellar/glibc/2.19
--enable-obsolete-rpc
--without-selinux
--with-binutils=/home/zihao.fzh/.linuxbrew/Cellar/binutils/2.26/bin
--with-headers=/home/zihao.fzh/.linuxbrew/Cellar/linux-headers/3.18.27/include

checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... /usr/bin/gcc
checking for suffix of object files... configure: error: in `/tmp/glibc-20160519-8022-1ipic1m/glibc-2.19/build':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details

brew search results in 'Error: Broken pipe'

brew search gcc
sporadically has two different results

broken result

gcc                                                                                       homebrew/dupes/apple-gcc42                                                              
Error: Broken pipe

correct result

gcc                                                                                       homebrew/dupes/apple-gcc42                                                              
homebrew/versions/gcc43             homebrew/versions/gcc45             homebrew/versions/gcc47             homebrew/versions/gcc49             homebrew/versions/gcc6            
homebrew/versions/gcc44             homebrew/versions/gcc46             homebrew/versions/gcc48             homebrew/versions/gcc5              homebrew/versions/llvm-gcc28      

90%+ of the output results in Error: Broken pipe

Create list of core Perl and Python modules for brew doctor

From @sjackman on April 3, 2016 20:24

There's a few core Perl and Python modules that are installed on a base Mac OS system that are expected to be installed by Homebrew formula. See for example XML::Parser in #1036, and Python's setuptools in about a dozen different issues. There should be a brew doctor check to confirm that these modules are installed on Linux.

Python

matplotlib
numpy
setuptools

Perl

List::MoreUtils
Moo
XML::Parser

Copied from original issue: Linuxbrew/legacy-linuxbrew#1038

Pouring hangs on chrome os

Please follow the general troubleshooting steps first:

Bug reports:

I got to installing hello for the first time and while installing it hung on pouring the bottle for hello. I decided to Ctrl C and continue with the next steps and got to the second attempt to run brew install where it again hung at pouring
I am on an Acer C720 with a Intel Celeron 2955U 1.4 GHz (Haswell micro-architecture) CPU and 2 GB of ram running ChromeOS 50.0.2661.91

Set up Circle CI to run Linux for the install repo

Please follow the general troubleshooting steps first:

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?
  • If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

Currently, Travis builds for the linuxbrew/install repo are only run against OS X. We should fix that by having it run against Linux.

uninstall was not clean

Tried uninstalling linuxbrew on centos 6.5, but saw some warnings/errors -

-e:5: command not found: command -v brew
/usr/bin/find: unknown predicate `-E'

Full output -

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/uninstall)"
-e:5: command not found: command -v brew
Warning: This script will remove:
/home/testuser/.cache/Homebrew/
/home/testuser/.linuxbrew/.git/
/home/testuser/.linuxbrew/.github/
/home/testuser/.linuxbrew/.gitignore
/home/testuser/.linuxbrew/.travis.yml
/home/testuser/.linuxbrew/.yardopts
/home/testuser/.linuxbrew/CODEOFCONDUCT.md
/home/testuser/.linuxbrew/LICENSE.txt
/home/testuser/.linuxbrew/Library/
/home/testuser/.linuxbrew/README.md
/home/testuser/.linuxbrew/bin/brew
/home/testuser/.linuxbrew/etc/bash_completion.d/brew
/home/testuser/.linuxbrew/share/doc/homebrew/
/home/testuser/.linuxbrew/share/man/man1/brew.1
/home/testuser/.linuxbrew/share/zsh/site-functions/_brew
Are you sure you want to uninstall Homebrew? [y/N] y
==> Removing Homebrew installation...
/usr/bin/find: unknown predicate `-E'
Warning: Failed during: /usr/bin/find -E /home/testuser/.linuxbrew/bin /home/testuser/.linuxbrew/etc /home/testuser/.linuxbrew/share -regex .*/info/([^.][^/]*.info|dir) -exec /bin/bash -c /usr/bin/install-info\ --delete\ --quiet\ {}\ "$(dirname\ {})/dir" ;
==> Removing empty directories...
Warning: Homebrew partially uninstalled (but there were steps that failed)!
To finish uninstalling rerun this script with `sudo`.
The following possible Homebrew files were not deleted:
/home/testuser/.linuxbrew/docker.test.yml
/home/testuser/.linuxbrew/Dockerfile
/home/testuser/.linuxbrew/lib64 -> /home/testuser/.linuxbrew/lib
You may consider to remove them by yourself.

Also, it says "To finish uninstalling rerun this script with sudo". Why do we need 'sudo', if we installed brew and other packages locally as normal user?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.