Coder Social home page Coder Social logo

Comments (8)

sjackman avatar sjackman commented on May 24, 2024

Fun times. I'd be inclined to disable make check if cmp is not installed rather than adding a dependency on diffutils. diffutils is cellar :any with no dependencies though, so adding the dep isn't so bad. I'm just trying to minimize deps in core packages.

from linuxbrew-core.

DoomHammer avatar DoomHammer commented on May 24, 2024

Sure, disabling tests is the route I would take. Maybe adding --with-tests as an option with dep on diffutils?

from linuxbrew-core.

sjackman avatar sjackman commented on May 24, 2024

Could do, but seems overly complicated. I was thinking something like (untested):

system "make", "check" if which "cmp"

from linuxbrew-core.

DoomHammer avatar DoomHammer commented on May 24, 2024

Ah, quite nice, but this will provide different experience depending on installed software. Do we want to deal with such non-determinism later? (eg. failing to build on one system that is almost identical to the other save for the presence of diffutils)

from linuxbrew-core.

sjackman avatar sjackman commented on May 24, 2024

Yeah, it could be emit a warning using opoo that it's skipping make check. Not a bad idea.

from linuxbrew-core.

DoomHammer avatar DoomHammer commented on May 24, 2024

Cool, I'll go with that.

from linuxbrew-core.

jaredsampson avatar jaredsampson commented on May 24, 2024

I just ran into a similar issue where cmp was present in the system but not via diffutils, (version 2.8.1, on RHEL 6) but running make check still caused the installation to fail. So it seems checking that cmp exists isn't enough. Furthermore, installing diffutils wasn't sufficient to fix the problem.

$ which cmp
/usr/bin/cmp

$ cmp --version
cmp (GNU diffutils) 2.8.1
Copyright (C) 2002 Free Software Foundation, Inc.

This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

Written by Torbjorn Granlund and David MacKenzie.

$ brew update
Already up-to-date.

$ brew install gawk
==> Downloading https://ftp.gnu.org/gnu/gawk/gawk-4.2.0.tar.xz
Already downloaded: /home/friesner/jms2435/.cache/Homebrew/gawk-4.2.0.tar.xz
==> ./configure --prefix=/home/friesner/jms2435/.linuxbrew/Cellar/gawk/4.2.0 --without-libsigsegv-pre
==> make
==> make check
Last 15 lines from /home/friesner/jms2435/.cache/Homebrew/Logs/gawk/03.make:
! 143418043/./d
! 143418042/../d
  143418044/eval.c/f
  143418045/awk.h/f
  143418046/POSIX.STD/f
--- 1,5 ----
! 143418043/./u
! 143418042/../u
  143418044/eval.c/f
  143418045/awk.h/f
  143418046/POSIX.STD/f
make[2]: Leaving directory `/home/friesner/jms2435/tmp/gawk-20171119-24943-9d6ego/gawk-4.2.0/test'
make[1]: *** [check] Error 1
make[1]: Leaving directory `/home/friesner/jms2435/tmp/gawk-20171119-24943-9d6ego/gawk-4.2.0/test'
make: *** [check-recursive] Error 1

READ THIS: https://github.com/Linuxbrew/brew/blob/master/docs/Troubleshooting.md#troubleshooting
Please do not report this issue to Homebrew/brew or Homebrew/core, which support macOS only.

These open issues may also help:
brew install gcc fails. Actually everything fails because installing glibc fails... https://github.com/Linuxbrew/homebrew-core/issues/4388

$ brew install diffutils
==> Downloading https://linuxbrew.bintray.com/bottles/diffutils-3.6.x86_64_linux.bottle.tar.gz
######################################################################## 100.0%
==> Pouring diffutils-3.6.x86_64_linux.bottle.tar.gz
🍺  /home/friesner/jms2435/.linuxbrew/Cellar/diffutils/3.6: 49 files, 2.5MB

$ which cmp
~/.linuxbrew/bin/cmp

$ cmp --version
cmp (GNU diffutils) 3.6
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Torbjörn Granlund and David MacKenzie.

$ brew install gawk
==> Downloading https://ftp.gnu.org/gnu/gawk/gawk-4.2.0.tar.xz
Already downloaded: /home/friesner/jms2435/.cache/Homebrew/gawk-4.2.0.tar.xz
==> ./configure --prefix=/home/friesner/jms2435/.linuxbrew/Cellar/gawk/4.2.0 --without-libsigsegv-pre
==> make
==> make check
Last 15 lines from /home/friesner/jms2435/.cache/Homebrew/Logs/gawk/03.make:
! 143421883/./d
! 143421882/../d
  143421884/eval.c/f
  143421885/awk.h/f
  143421886/POSIX.STD/f
--- 1,5 ----
! 143421883/./u
! 143421882/../u
  143421884/eval.c/f
  143421885/awk.h/f
  143421886/POSIX.STD/f
make[2]: Leaving directory `/home/friesner/jms2435/tmp/gawk-20171119-9050-8sfe1x/gawk-4.2.0/test'
make[1]: *** [check] Error 1
make[1]: Leaving directory `/home/friesner/jms2435/tmp/gawk-20171119-9050-8sfe1x/gawk-4.2.0/test'
make: *** [check-recursive] Error 1

READ THIS: https://github.com/Linuxbrew/brew/blob/master/docs/Troubleshooting.md#troubleshooting
Please do not report this issue to Homebrew/brew or Homebrew/core, which support macOS only.

These open issues may also help:
brew install gcc fails. Actually everything fails because installing glibc fails... https://github.com/Linuxbrew/homebrew-core/issues/4388

Besides cmp, are there any other dependencies of the make check target?

If I comment-out the entire make check block, everything installs just fine.

from linuxbrew-core.

sjackman avatar sjackman commented on May 24, 2024

make check is failing not because cmp is not available, but for some other reason. Does it fail outside of Linuxbrew if your run ./configure && make check? If so, I'd suggest raising the issue with the upstream developer.

from linuxbrew-core.

Related Issues (20)

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.