Closed ploxiln closed 5 years ago
I hacked in a print to get some clue about the formulae causing this loop:
--- a/Library/Homebrew/cmd/upgrade.rb
+++ b/Library/Homebrew/cmd/upgrade.rb
@@ -186,12 +186,13 @@ module Homebrew
def upgradable_dependents(kegs, formulae)
formulae_to_upgrade = Set.new
formulae_pinned = Set.new
formulae.each do |formula|
descendants = Set.new
+ puts "considering formula: #{formula.full_name}"
dependents = kegs.select do |keg|
keg.runtime_dependencies
the output is confusing because this is a recursion inside a loop, but it eventually did come to a consistent repeating pattern:
...
considering formula: gst-rtsp-server
considering formula: gst-rtsp-server
considering formula: gst-plugins-bad
considering formula: gst-plugins-base
considering formula: gst-libav
considering formula: gst-plugins-bad
considering formula: gst-plugins-good
considering formula: gst-rtsp-server
considering formula: gst-plugins-good
considering formula: gst-rtsp-server
considering formula: webp
considering formula: libtiff
considering formula: little-cms2
considering formula: emacs
considering formula: mpv
considering formula: libsoup
considering formula: gst-plugins-good
considering formula: ghostscript
considering formula: webp
considering formula: libtiff
considering formula: little-cms2
considering formula: emacs
considering formula: mpv
considering formula: libsoup
considering formula: gst-plugins-good
considering formula: ghostscript
considering formula: webp
considering formula: libtiff
considering formula: little-cms2
considering formula: emacs
considering formula: mpv
considering formula: libsoup
considering formula: gst-plugins-good
considering formula: ghostscript
considering formula: webp
considering formula: libtiff
considering formula: little-cms2
considering formula: emacs
considering formula: mpv
... repeats ...
I think an interesting question is: how did libtiff
get into that output ...
$ brew info libtiff
libtiff: stable 4.0.10 (bottled)
TIFF library and utilities
http://libtiff.maptools.org/
/usr/local/Cellar/libtiff/4.0.10 (246 files, 3.5MB) *
Built from source on 2018-11-28 at 21:06:13
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/libtiff.rb
==> Dependencies
Required: jpeg (installed)
Optional: xz (installed)
Sorry, given this affects just you we'll accept a pull request for a fix or would need to see this reproducible with no brew doctor
warnings. Will reopen if others experience this.
eh well it's just HOMEBREW_BUILD_FROM_SOURCE
, the "p11-kit" one is erroneous:
$ brew info gnutls
gnutls: stable 3.5.19 (bottled)
GNU Transport Layer Security (TLS) Library
https://gnutls.org/
/usr/local/Cellar/gnutls/3.5.19 (1,104 files, 7.3MB) *
Built from source on 2018-07-19 at 00:39:41 with: --without-p11-kit
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnutls.rb
==> Dependencies
Build: pkg-config (installed)
Required: gmp (installed), libtasn1 (installed), libunistring (installed), nettle (installed)
Recommended: p11-kit (uninstalled)
Optional: guile (uninstalled), unbound (uninstalled)
==> Options
--with-guile
Build with guile support
--with-unbound
Build with unbound support
--without-p11-kit
Build without p11-kit support
I have the same issue with a simple brew upgrade
. The upgrade command declared upgrading ffmpeg 4.1 -> 4.1_1, rust 1.31.0 -> 1.31.1, gnu-sed 4.5 -> 4.7, libssh 0.8.4 -> 0.8.5, gnutls 3.5.19 -> 3.6.5
.
I have the following installed:
adns ffmpeg graphite2 libgcrypt libvo-aacenc opencore-amr readline theora
asciidoc ffmpeg@2.8 gti libgpg-error libvorbis openh264 rlwrap tree
autoconf flac gtk-doc libgsm libvpx openjpeg rsync two-lame
autoconf-archive fontconfig harfbuzz libidn libxml2 openssl rtmpdump unrar
automake freetype htop libidn2 libyaml openvpn rubberband util-linux
bat frei0r httpie libksba little-cms2 opus ruby vapor
boost fribidi hugo libmodplug lz4 p11-kit rust watch
cabextract game-music-emu icu4c libogg lzo p7zip sdl wavpack
cairo gdbm intltool libpng makedepend pango sdl2 webp
carthage gdk-pixbuf itstool libressl meson-internal pass sl wget
chromaprint gettext jpeg librsvg mpg123 pcre snappy wine
cimg git-lfs jq libsamplerate nasm phash source-highlight winetricks
cloc glib lame libsndfile ncdu pigz speedtest-cli x264
cmake gmp leptonica libsoxr nettle pinentry speex x265
coreutils gnu-getopt lftp libssh ninja pixman sphinx-doc xmlto
ctls gnu-sed libass libssh2 nmap pkg-config sqlite xvid
cython gnupg libassuan libtasn1 node postgresql swiftlint xz
dep gnutls libbs2b libtiff npth pstree swig yasm
docbook go libcaca libtool ocaml pv tcl-tk youtube-dl
docbook-xsl gobject-introspection libcroco libunistring ocaml-findlib python tesseract zeromq
doxygen gpac libdvdcss libusb ocamlbuild python@2 texi2html zimg
fdk-aac gpgme libffi libvidstab oniguruma qrencode the_silver_searcher
I also have the HOMEBREW_BUILD_FROM_SOURCE
var set to 1.
I also have the HOMEBREW_BUILD_FROM_SOURCE var set to 1.
As the docs note: that’s an unsupported configuration.
I got the issue on another computer with the var unset, just when compiling from source.
@Frizlab If someone can provide a simple reproduction without HOMEBREW_BUILD_FROM_SOURCE
set we've got something we can look at fixing.
Additionally we need a fuller backtrace in a Gist, thanks.
Will try and do that when/if I find the time.
brew
command and reproduced the problem with multiple formulae? If it's a problem with a single, official formula (not cask) please file this issue at Homebrew/homebrew-core: https://github.com/Homebrew/homebrew-core/issues/new/choose. If it's abrew cask
problem please file this issue at https://github.com/Homebrew/homebrew-cask/issues/new/choose. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.brew update
and can still reproduce the problem?brew doctor
, fixed all issues and can still reproduce the problem?brew config
andbrew doctor
and included their output with your issue?I only reproduced with libpng, but this seems to me like an issue with the core framework, or something that should be detected in the core framework.
What you were trying to do (and why)
upgrade libpng ... from source ... I know you guys seem to not like that anymore, but I started with gentoo about 15 years ago ...
What happened (include command output)
libpng upgrade worked, then homebrew hit an apparently infinite stack recursion while checking dependents
What you expected to happen
Maybe nothing after the successful install, I expect libpng-1.6.36 to be fully ABI compatible with libpng-1.6.35, or maybe homebrew automatically re-builds all the formula which depend on libpng:
interesting how
--include-optional
just avoids including transitive dependents in this caseStep-by-step reproduction instructions (by running
brew
commands)I did this a couple times to check it wasn't just a fluke. I still have libpng-1.6.35 installed, so first:
Then:
I was in the process of upgrading stuff: