Linuxbrew / install

💀 Linuxbrew/install (deprecated)
https://docs.brew.sh/Homebrew-on-Linux
BSD 2-Clause "Simplified" License
43 stars 42 forks source link

Installing linuxbrew fails with: Error: Git is unavailable (but git 2.19.1 is installed) #81

Closed ckeeling closed 4 years ago

ckeeling commented 4 years ago

I am trying to do a fresh install of linuxbrew locally onto linux system, where:

git --version
git version 2.19.1
which git
/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/git
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

Fails with error.

...
==> Pouring portable-ruby-2.6.3.x86_64_linux.bottle.tar.gz
Error: Git is unavailable
Error: Failure while executing; `/home/ckeeling/.linuxbrew/bin/brew tap homebrew/core` exited with 1.
Error: Git must be installed and in your PATH!
Failed during: /home/ckeeling/.linuxbrew/bin/brew update --force
sjackman commented 4 years ago

Hi, Chris! Try…

HOMEBREW_NO_ENV_FILTERING=1 ~/.linuxbrew/bin/brew install git
ckeeling commented 4 years ago

Hi Shaun,

When I do this, I get another error when installing the git dependency glibc:

HOMEBREW_NO_ENV_FILTERING=1 ~/.linuxbrew/bin/brew install git
...
==> Installing git dependency: glibc
==> Downloading https://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz
Already downloaded: /home/ckeeling/.cache/Homebrew/downloads/3c17421daad583cfd4fad587b8e1260f19385344f309d7ae11e0c2bb6b75d801--glibc-2.23.tar.gz
==> ../configure --disable-debug --disable-dependency-tracking --disable-silent-rules --prefix=/home/ckeeling/.linuxbrew/Cellar/glibc/2.23 --enable-obsolete-rpc --without-selinux --with-binutils=/home/ckeeling/.linuxbrew/opt/binutils/
==> make
Last 15 lines from /home/ckeeling/.cache/Homebrew/Logs/glibc/02.make:
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_hout.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_main.o] Error 1
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_cout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_parse.o] Error 1
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_scan.o] Error 1
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_util.o] Error 1
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_svcout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_clntout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_tblout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/build/sunrpc/cross-rpc_sample.o] Error 1
make[2]: Leaving directory `/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/tmp/glibc-20200305-132157-1oo2dl3/glibc-2.23'
make: *** [all] Error 2

READ THIS: https://docs.brew.sh/Troubleshooting

As per the trouble shooting, run brew update twice:

brew update
==> Installing dependencies for curl: glibc, gcc, bzip2, pkg-config and openssl@1.1
==> Installing curl dependency: glibc
==> Downloading https://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz
Already downloaded: /home/ckeeling/.cache/Homebrew/downloads/3c17421daad583cfd4fad587b8e1260f19385344f309d7ae11e0c2bb6b75d801--glibc-2.23.tar.gz
==> ../configure --disable-debug --disable-dependency-tracking --disable-silent-rules --prefix=/home/ckeeling/.linuxbrew/Cellar/glibc/2.23 --enable-obsolete-rpc --without-selinux --with-binutils=/home/ckeeling/.linuxbrew/opt/binutils/
==> make
Last 15 lines from /home/ckeeling/.cache/Homebrew/Logs/glibc/02.make:
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_cout.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_main.o] Error 1
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_util.o] Error 1
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_parse.o] Error 1
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_sample.o] Error 1
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_scan.o] Error 1
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_clntout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_svcout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_hout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/build/sunrpc/cross-rpc_tblout.o] Error 1
make[2]: Leaving directory `/tmp/glibc-20200305-178911-2l5tj/glibc-2.23/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/tmp/glibc-20200305-178911-2l5tj/glibc-2.23'
make: *** [all] Error 2

READ THIS: https://docs.brew.sh/Troubleshooting

==> Installing dependencies for git: glibc, gcc, pkg-config, gpatch, ncurses, gettext, bzip2, pcre2, openssl@1.1, curl, libbsd and expat
==> Installing git dependency: glibc
==> Downloading https://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz
Already downloaded: /home/ckeeling/.cache/Homebrew/downloads/3c17421daad583cfd4fad587b8e1260f19385344f309d7ae11e0c2bb6b75d801--glibc-2.23.tar.gz
==> ../configure --disable-debug --disable-dependency-tracking --disable-silent-rules --prefix=/home/ckeeling/.linuxbrew/Cellar/glibc/2.23 --enable-obsolete-rpc --without-selinux --with-binutils=/home/ckeeling/.linuxbrew/opt/binutils/
==> make
Last 15 lines from /home/ckeeling/.cache/Homebrew/Logs/glibc/02.make:
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_hout.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_parse.o] Error 1
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_main.o] Error 1
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_util.o] Error 1
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_scan.o] Error 1
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_cout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_tblout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_svcout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_clntout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-223840-c690ab/glibc-2.23/build/sunrpc/cross-rpc_sample.o] Error 1
make[2]: Leaving directory `/tmp/glibc-20200305-223840-c690ab/glibc-2.23/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/tmp/glibc-20200305-223840-c690ab/glibc-2.23'
make: *** [all] Error 2

READ THIS: https://docs.brew.sh/Troubleshooting

Error: Git must be installed and in your PATH!

Try again...

brew update
==> Installing dependencies for curl: glibc, gcc, bzip2, pkg-config and openssl@1.1
==> Installing curl dependency: glibc
==> Downloading https://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz
Already downloaded: /home/ckeeling/.cache/Homebrew/downloads/3c17421daad583cfd4fad587b8e1260f19385344f309d7ae11e0c2bb6b75d801--glibc-2.23.tar.gz
==> ../configure --disable-debug --disable-dependency-tracking --disable-silent-rules --prefix=/home/ckeeling/.linuxbrew/Cellar/glibc/2.23 --enable-obsolete-rpc --without-selinux --with-binutils=/home/ckeeling/.linuxbrew/opt/binutils/
==> make
Last 15 lines from /home/ckeeling/.cache/Homebrew/Logs/glibc/02.make:
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_cout.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_parse.o] Error 1
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_scan.o] Error 1
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_main.o] Error 1
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_hout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_clntout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_sample.o] Error 1
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_util.o] Error 1
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_svcout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/build/sunrpc/cross-rpc_tblout.o] Error 1
make[2]: Leaving directory `/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/tmp/glibc-20200305-269618-12mtg3o/glibc-2.23'
make: *** [all] Error 2

READ THIS: https://docs.brew.sh/Troubleshooting

==> Installing dependencies for git: glibc, gcc, pkg-config, gpatch, ncurses, gettext, bzip2, pcre2, openssl@1.1, curl, libbsd and expat
==> Installing git dependency: glibc
==> Downloading https://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz
Already downloaded: /home/ckeeling/.cache/Homebrew/downloads/3c17421daad583cfd4fad587b8e1260f19385344f309d7ae11e0c2bb6b75d801--glibc-2.23.tar.gz
==> ../configure --disable-debug --disable-dependency-tracking --disable-silent-rules --prefix=/home/ckeeling/.linuxbrew/Cellar/glibc/2.23 --enable-obsolete-rpc --without-selinux --with-binutils=/home/ckeeling/.linuxbrew/opt/binutils/
==> make
Last 15 lines from /home/ckeeling/.cache/Homebrew/Logs/glibc/02.make:
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_main.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_parse.o] Error 1
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_cout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_hout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_clntout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_util.o] Error 1
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_svcout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_scan.o] Error 1
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_tblout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/build/sunrpc/cross-rpc_sample.o] Error 1
make[2]: Leaving directory `/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/tmp/glibc-20200305-42662-1d8qycs/glibc-2.23'
make: *** [all] Error 2

READ THIS: https://docs.brew.sh/Troubleshooting

Error: Git must be installed and in your PATH!

Try with your suggested prefix:

HOMEBREW_NO_ENV_FILTERING=1 ~/.linuxbrew/bin/brew update
Already up-to-date.

Ask the doctor:

brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and which additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew-provided
script of the same name. We found the following "config" scripts:
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/MagickWand-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/xmlsec1-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/iodbc-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/MagickCore-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/sdl2-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/freetype-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/GraphicsMagick++-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/ncursesw5-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/ncurses-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/sdl-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/pcre-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/GraphicsMagickWand-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/libgcrypt-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/jemalloc-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/ncursesw6-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/krb5-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/nspr-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/llvm-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/xml2-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/pbs-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/guile-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/libpng-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/bind9-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/Magick++-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/libpng12-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/Magick-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/cups-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/antlr-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/pkg-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/nss-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/icu-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/gpg-error-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/GraphicsMagick-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/python2.7-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/gdlib-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/libpng16-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/pcre2-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/xslt-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/libpng15-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/curl-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/python-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/Wand-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/python2-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/fltk-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/sbin/antlr-config
  /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/sbin/icu-config

Warning: Git could not be found in your PATH.
Homebrew uses Git for several internal functions, and some formulae use Git
checkouts instead of stable tarballs. You may want to install Git:
  brew install git

Warning: Your Homebrew's prefix is not /home/linuxbrew/.linuxbrew.
Some of Homebrew's bottles (binary packages) can only be used with the default
prefix (/home/linuxbrew/.linuxbrew).
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC. You are responsible for resolving any issues you
experience while you are running this unsupported configuration.
sjackman commented 4 years ago

Consider installing Homebrew in /home/linuxbrew/.linuxbrew/ if possible so that you can use precompiled binary packages (known as bottles) for non-relocatable formula like glibc.

If it's an option for you, you could open a ticket with your information systems department to ask that they create a linuxbrew role account with home directory /home/linuxbrew.

The precompiled binary bottles of non-relocatable bottles can only be used if you install in /home/linuxbrew/.linuxbrew, otherwise they have to be built from source. See the documentation below. On macOS the default installation directory is /usr/local. On Linux the default installation directory is /home/linuxbrew/.linuxbrew.

sjackman commented 4 years ago

Try ~/.linuxbrew/bin/brew install -v glibc and report the error.

ckeeling commented 4 years ago

It started with the same error messages as above for brew update, but then continued with a very long stream of text ending in:

...
gcc -B/home/ckeeling/.linuxbrew/opt/binutils/bin/ rpcgen.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -Wold-style-definition          -D_RPC_THREAD_SAFE_ -I../include -I/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc  -I/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build  -I../sysdeps/unix/sysv/linux/x86_64/64  -I../sysdeps/unix/sysv/linux/x86_64  -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/x86_64  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/x86_64/64  -I../sysdeps/x86_64/fpu/multiarch  -I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu  -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86  -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -isystem /home/ckeeling/.linuxbrew/opt/linux-headers/include  -D_LIBC_REENTRANT -include /tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/libc-modules.h -DMODULE_NAME=nonlib -include ../include/libc-symbols.h       -D_RPC_THREAD_SAFE_ -o /tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/rpcgen.o -MD -MP -MF /tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/rpcgen.o.dt -MT /tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/rpcgen.o
rpc_hout.c:36:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.
rpc_main.c:37:19: fatal error: errno.h: No such file or directory
 #include <errno.h>
                   ^
compilation terminated.
rpc_cout.c:36:19: fatal error: ctype.h: No such file or directory
 #include <ctype.h>
                   ^
compilation terminated.
rpc_parse.c:37:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.
rpc_util.c:36:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.
rpc_scan.c:37:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.
rpc_tblout.c:36:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.
rpc_clntout.c:32:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
rpc_sample.c:37:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.
compilation terminated.
rpc_svcout.c:36:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_hout.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_main.o] Error 1
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_cout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_util.o] Error 1
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_scan.o] Error 1
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_parse.o] Error 1
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_tblout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_clntout.o] Error 1
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_sample.o] Error 1
make[2]: *** [/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc/cross-rpc_svcout.o] Error 1
make[2]: Leaving directory `/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23'
make: *** [all] Error 2

==> Formula
Path: /home/ckeeling/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/glibc.rb
==> Configuration
HOMEBREW_VERSION: >=2.2.0 (shallow or no git repository)
ORIGIN: (none)
HEAD: (none)
Last commit: never
Core tap ORIGIN: (none)
Core tap HEAD: (none)
Core tap last commit: never
HOMEBREW_PREFIX: /home/ckeeling/.linuxbrew
HOMEBREW_CELLAR: /home/ckeeling/.linuxbrew/Cellar
HOMEBREW_CACHE: /home/ckeeling/.cache/Homebrew
HOMEBREW_LOGS: /home/ckeeling/.cache/Homebrew/Logs
HOMEBREW_REPOSITORY: /home/ckeeling/.linuxbrew/Homebrew
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
HOMEBREW_SYSTEM_CURL_TOO_OLD: 1
CPU: 40-core 64-bit skylake
Homebrew Ruby: 2.6.3 => /home/ckeeling/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/bin/ruby
Clang: N/A
Git: N/A
Curl: 7.29.0 => /usr/bin/curl
Kernel: Linux 3.10.0-1062.12.1.el7.x86_64 x86_64 GNU/Linux
OS: CentOS Linux release 7.7.1908 (Core) (Core)
Host glibc: 2.17
/usr/bin/gcc: 4.8.5
glibc: N/A
gcc: N/A
xorg: N/A
==> ENV
HOMEBREW_CC: gcc
HOMEBREW_CXX: g++
MAKEFLAGS: -j40
CMAKE_PREFIX_PATH: /home/ckeeling/.linuxbrew
HOMEBREW_GIT: git
PATH: /home/ckeeling/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super:/home/ckeeling/.linuxbrew/opt/binutils/bin:/usr/bin:/bin:/usr/sbin:/sbin

Error: glibc 2.23 did not build
Logs:
     /home/ckeeling/.cache/Homebrew/Logs/glibc/00.options.out
     /home/ckeeling/.cache/Homebrew/Logs/glibc/02.make.cc
     /home/ckeeling/.cache/Homebrew/Logs/glibc/01.configure.cc
     /home/ckeeling/.cache/Homebrew/Logs/glibc/02.make
     /home/ckeeling/.cache/Homebrew/Logs/glibc/01.configure
READ THIS: https://docs.brew.sh/Troubleshooting
sjackman commented 4 years ago

Your best bet is to install in /home/linuxbrew/.linuxbrew

If you'd like to experiment with an un-tested hack, try… ~/.linuxbrew/bin/brew install --force-bottle glibc

That may get you further, but will likely result in other other weird downstream errors.

Another option to try may be something like…

brew install -s gcc@4.9
brew install --cc=gcc@4.9 glibc
brew install gcc
ckeeling commented 4 years ago

No luck with your last suggestions for a user installation. I know it has always been indicated that some things will only work when located in /home/linuxbrew, but I've installed linuxbrew in my user space several times in the past on compute canada servers without issue, as I am trying to do now. Is linuxbrew moving away from one of its main feature of not requiring sudo access, or do you think something with the particular set up of this server could be different?

sjackman commented 4 years ago

Is linuxbrew moving away from one of its main feature of not requiring sudo access, or do you think something with the particular set up of this server could be different?

No, and it still doesn't require root sudo access, but everything is a lot smoother (less building from source) if you have write access to /home/linuxbrew. I suppose with Compute Canada that likely may be not possible. Do they provide container access through either Docker or Singularity?

sjackman commented 4 years ago

You're building glibc, and it's glibc itself that provides stdio.h, which is says it's missing, so that's weird. So it looks to me like a glibc build system issue/bug.

Try… brew install -dv glibc and when the menu of options is provided select a shell prompt. Run make and see if you get the same error.

-I../include
-I/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build/sunrpc
-I/tmp/glibc-20200305-95855-1qxc6br/glibc-2.23/build
-I../sysdeps/unix/sysv/linux/x86_64/64
-I../sysdeps/unix/sysv/linux/x86_64
-I../sysdeps/unix/sysv/linux/x86
-I../sysdeps/unix/sysv/linux/wordsize-64
-I../sysdeps/x86_64/nptl
-I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux
-I../sysdeps/nptl
-I../sysdeps/pthread
-I../sysdeps/gnu
-I../sysdeps/unix/inet
-I../sysdeps/unix/sysv
-I../sysdeps/unix/x86_64
-I../sysdeps/unix
-I../sysdeps/posix
-I../sysdeps/x86_64/64
-I../sysdeps/x86_64/fpu/multiarch
-I../sysdeps/x86_64/fpu
-I../sysdeps/x86/fpu/include
-I../sysdeps/x86/fpu
-I../sysdeps/x86_64/multiarch
-I../sysdeps/x86_64
-I../sysdeps/x86
-I../sysdeps/ieee754/ldbl-96
-I../sysdeps/ieee754/dbl-64/wordsize-64
-I../sysdeps/ieee754/dbl-64
-I../sysdeps/ieee754/flt-32
-I../sysdeps/wordsize-64
-I../sysdeps/ieee754
-I../sysdeps/generic
-I..
-I../libio
-I.

From your build command above, these are the include paths being searched. Is stdio.h in any of them, and if not, which folder is it in?

If you can reproduce this build failure in a container on your personal laptop, then I can troubleshoot it myself.

ckeeling commented 4 years ago

Thanks Shaun,

Yes, I could use Singularity, and I do use it for some things, but am surprised I can't get linuxbrew to install properly without resorting to another layer of complexity. Are you still maintaining a Docker hub linuxbrew image? Singularity can use that too.

I got the same errors after running make. I found the files giving missing errors here, and only stdio.h is in one of the include paths you indicate:

/tmp/glibc-20200306-112956-1t8htuu/glibc-2.23/libio/stdio.h
/tmp/glibc-20200306-112956-1t8htuu/glibc-2.23/sysdeps/mach/hurd/bits/errno.h
/tmp/glibc-20200306-112956-1t8htuu/glibc-2.23/ctype/ctype.h
sjackman commented 4 years ago

If you're able to reproduce this issue in a CentOS Linux release 7.7.1908 Docker image, I can troubleshoot it. Otherwise I can't know if this issue is due to some configuration specific to this machine, or a more general problem.

Are you still maintaining a Docker hub linuxbrew image? Singularity can use that too.

Yep. See https://hub.docker.com/r/homebrew/brew and https://github.com/Homebrew/brew/packages/

ckeeling commented 4 years ago

Based on your Dockerfile, I created a Singularity recipe that was able to install brew correctly. I need a package not available in xenial, so I started from scratch with docker:ubuntu:disco rather than bootstrapping from homebrew/brew. Thus, it seems that the setup on the server of my original post was the issue. Thanks for the help and suggestions @sjackman

sjackman commented 4 years ago

Glad to hear that you got Singularity working, Chris!