Homebrew / homebrew-bundle

๐Ÿ“ฆ Bundler for non-Ruby dependencies from Homebrew, Homebrew Cask and the Mac App Store.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`brew bundle` is failing on missing key "osx-cross/arm/arm-none-eabi-binutils"

nobe4 opened this issue ยท comments

brew bundle started failing today.

Sample Brewfile:

# uncommenting the taps produces the same effect
# tap "homebrew/cask"
# tap "homebrew/core"
# tap "homebrew/services"

brew "fd" # this name doesn't really matter, I've tried a bunch
# any other brew after produce the same effect

Error:

$ brew bundle
Error: key not found: "osx-cross/arm/arm-none-eabi-binutils"
Did you mean?  "osx-cross/arm/arm-none-eabi-gcc@8"
Please report this bug:
  https://github.com/Homebrew/homebrew-bundle/issues
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `fetch'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `tsort_each_child'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:415:in `call'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:415:in `each_strongly_connected_component_from'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `each'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `tsort_each_child'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:415:in `call'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:415:in `each_strongly_connected_component_from'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:349:in `block in each_strongly_connected_component'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:347:in `each_key'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:347:in `call'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:347:in `each_strongly_connected_component'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:226:in `tsort_each'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:176:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:176:in `to_a'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:176:in `tsort'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:152:in `tsort'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:216:in `sort!'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:39:in `formulae_by_full_name'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:23:in `formulae'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_installer.rb:191:in `formulae'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_installer.rb:175:in `outdated_formulae'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_installer.rb:171:in `upgradable_formulae'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_installer.rb:163:in `formula_upgradable?'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/installer.rb:20:in `block in install'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/installer.rb:11:in `each'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/installer.rb:11:in `install'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/commands/install.rb:10:in `run'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/cmd/bundle.rb:103:in `bundle'
/usr/local/Homebrew/Library/Homebrew/brew.rb:86:in `<main>'

I looked at all the issues possibly related but nothing helped.

#923 seems very related, but didn't provide any details ๐Ÿค”

brew config
HOMEBREW_VERSION: 4.1.20-47-g5fa5f3b
ORIGIN: https://github.com/Homebrew/brew
HEAD: 5fa5f3b0aaec1f0c7a0a3d0a8f7c62cd2f9b9427
Last commit: 18 hours ago
Core tap origin: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 9654d7906455996b566edc8cae7409dc5d52cf2e
Core tap last commit: 6 hours ago
Core tap branch: master
Core tap JSON: 18 Nov 12:54 UTC
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: nvim
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit icelake
Clang: 15.0.0 build 1500
Git: 2.39.3 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 8.1.2 => /usr/bin/curl
macOS: 14.1-x86_64
CLT: 15.0.0.0.1.1694021235
Xcode: 15.0.1
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: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
  mysql@5.7
  openssl@1.1

Warning: Homebrew's "sbin" was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting your PATH for example like so:
  echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc

@jacobbednarz Weren't you seeing something similar to this the other day? I wasn't able to reproduce it across three installations that were up to date.

Tap in question for quick access: https://github.com/osx-cross/homebrew-arm

yeah, I did hit a similar issue and the tap itself seemed fine.

my fix was to untap, clean and then re-tap. I think there is something deeper in brew causing this but I couldn't find it on my Friday.

@nobe4 Can I see your brew config and brew doctor?

Also do brew bundle dump or brew install fd fail?

@MikeMcQuaid you can see the config/doctor under the error in the body of the issue :)

$ brew bundle dump
Error: /Users/path/to/Brewfile already exists

$ mv Brewfile Brewfile.bak

$ brew bundle dump
==> Downloading https://formulae.brew.sh/api/formula.jws.json
######################################################################################################################################################################################################################################## 100.0%
Error: key not found: "osx-cross/arm/arm-none-eabi-binutils"
Did you mean?  "osx-cross/arm/arm-none-eabi-gcc@8"
Please report this bug:
  https://github.com/Homebrew/homebrew-bundle/issues
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `fetch'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `tsort_each_child'
# ... and so on, same as before
$ brew install fd
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################################################################################################################################################################################## 100.0%
Warning: fd 8.7.1 is already installed and up-to-date.
To reinstall 8.7.1, run:
  brew reinstall fd

$ brew uninstall fd
Uninstalling /usr/local/Cellar/fd/8.7.1... (13 files, 3MB)

$ brew install fd
==> Downloading https://ghcr.io/v2/homebrew/core/fd/manifests/8.7.1
Already downloaded: /Users/n/Library/Caches/Homebrew/downloads/163b40e14aa8b1b22b0d1a1c1b16d8d6f536a39710dbc3c0c428daf97fd959ec--fd-8.7.1.bottle_manifest.json
==> Fetching fd
==> Downloading https://ghcr.io/v2/homebrew/core/fd/blobs/sha256:c13159ca10073bc82ce3c955aa0aaa04eee6d98f0693c3eba3e4dd394acd12cc
######################################################################################################################################################################################################################################## 100.0%
==> Pouring fd--8.7.1.sonoma.bottle.tar.gz
==> Caveats
zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
๐Ÿบ  /usr/local/Cellar/fd/8.7.1: 13 files, 3MB
==> Running `brew cleanup fd`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

@nobe4 Can I see the output of brew outdated and git -C $(brew --repo osx-cross/arm) show?

@nobe4 and brew list

@MikeMcQuaid sure thing, here you go ๐Ÿ•ต

$ brew outdated
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 3 taps (shopify/shopify, 1password/tap and homebrew/core).
==> New Formulae
xnvme

You have 9 outdated formulae installed.

bear (3.1.3_8) < 3.1.3_9
c-ares (1.22.0) < 1.22.1
grpc (1.59.3) < 1.59.3_1
luajit (2.1.1699801871) < 2.1.1700008891
protobuf (25.0) < 25.1
python-certifi (2023.7.22_1) < 2023.11.17
scons (4.5.2) < 4.6.0
universal-ctags (p6.0.20231112.0) < p6.0.20231119.0
yq (4.35.2) < 4.40.2
$ git -C $(brew --repo osx-cross/arm)  show
commit 37263170c1bcd155ee02dbaaf3221f39dbfbad0c (HEAD -> master, origin/master, origin/HEAD)
Author: osxCrossTestBot <osxCrossTestBot@leka.io>
Date:   Tue Sep 12 15:30:53 2023 +0000

    arm-none-eabi-binutils: update 2.38 bottle.

diff --git a/Formula/arm-none-eabi-binutils.rb b/Formula/arm-none-eabi-binutils.rb
index 6244d03..02edec7 100644
--- a/Formula/arm-none-eabi-binutils.rb
+++ b/Formula/arm-none-eabi-binutils.rb
@@ -8,10 +8,10 @@ class ArmNoneEabiBinutils < Formula

   bottle do
     root_url "https://github.com/osx-cross/homebrew-arm/releases/download/arm-none-eabi-binutils-2.38"
-    rebuild 2
-    sha256 ventura:  "e1c6b60fb96da269fa5f38bf761be8775b6745c13517698efc7a2ffc4fdef6da"
-    sha256 monterey: "48ed296b3802e67845e7f11b71f0f67d6f97ac7c52ea5b4010ed20fea75bd9d3"
-    sha256 big_sur:  "334c4298ac9c3ece49f5cddaf6ab4d7913c4dab5dd35c1e9d4dc849c39ac79db"
+    rebuild 3
+    sha256 ventura:  "4e076d6c8ac889a0a22dab0a34464fc9dc4718222066352b0dda68cb7465a621"
+    sha256 monterey: "80ca3274d451abe30bf14c2fdff3b622ce8b50233f9b2d14a345c2da3fe0ceed"
+    sha256 big_sur:  "7f192d490434f1b8bf092df76055022641f3f11ebf1f9650d0726cc29f6c32d6"
   end

   keg_only "it might interfere with other version of arm-gcc.\n" \
$ brew list
==> Formulae
abseil                          ffmpeg                          hyperfine                       libslirp                        mdloader                        prettier                        teensy_loader_cli
act                             flac                            icu4c                           libsndfile                      mockery                         protobuf                        tesseract
aom                             fltk                            imath                           libsodium                       moreutils                       protobuf@21                     tfenv
apr                             fmt                             isl                             libsoxr                         mpdecimal                       pycparser                       theora
apr-util                        fontconfig                      jansson                         libspiro                        mpfr                            pyenv                           tidy-html5
argon2                          fontforge                       jasper                          libssh                          mpg123                          python-brotli                   tmux
aribb24                         freetds                         jemalloc                        libssh2                         msgpack                         python-certifi                  tokyo-cabinet
arm-none-eabi-binutils          freetype                        jpeg                            libtasn1                        mutt                            python-cryptography             toxiproxy
arm-none-eabi-gcc@8             frei0r                          jpeg-turbo                      libtermkey                      mysql                           python-mutagen                  trash
aspell                          fribidi                         jpeg-xl                         libtiff                         mysql@5.7                       python-setuptools               tree
augeas                          fzf                             jq                              libtool                         ncurses                         python-typing-extensions        tree-sitter
autoconf                        gcc                             jsoncpp                         libunibreak                     neovim                          python@3.10                     trufflehog
avr-binutils                    gd                              krb5                            libuninameslist                 netpbm                          python@3.11                     unbound
avr-gcc@8                       gdb                             kustomize@3.1                   libunistring                    nettle                          python@3.12                     unibilium
avrdude                         gdbm                            lame                            libusb                          nghttp2                         python@3.9                      universal-ctags
aws-iam-authenticator           gdk-pixbuf                      launchdns                       libusb-compat                   ninja                           qemu                            unixodbc
awscli                          gettext                         leptonica                       libuv                           nlohmann-json                   qmk                             utf8proc
azure-cli                       gh                              libarchive                      libvidstab                      nmap                            rav1e                           vale
bdw-gc                          ghcup                           libass                          libvmaf                         node                            rbenv                           vault
bear                            giflib                          libassuan                       libvorbis                       node-build                      rbspy                           vde
binwalk                         git-lfs                         libavif                         libvpx                          nodenv                          re2                             virtualenv
boost                           glib                            libb2                           libvterm                        npth                            readline                        webp
bootloadhid                     glow                            libbluray                       libx11                          numpy                           reattach-to-user-namespace      wget
brotli                          gmp                             libcbor                         libxau                          oniguruma                       ripgrep                         woff2
c-ares                          gnupg                           libev                           libxcb                          openblas                        rtmpdump                        x264
ca-certificates                 gnupg@2.2                       libevent                        libxdmcp                        opencore-amr                    rubberband                      x265
cairo                           gnutls                          libffi                          libxext                         openexr                         ruby                            xorgproto
capstone                        go                              libfido2                        libxrender                      openjpeg                        ruby-build                      xq
cffi                            gobject-introspection           libftdi                         libyaml                         openldap                        scons                           xvid
cjson                           golangci-lint                   libgcrypt                       libzip                          openssl@1.1                     sdl2                            xz
clang-format                    gpgme                           libgpg-error                    little-cms2                     openssl@3                       shellcheck                      yq
cmake                           graphite2                       libidn2                         llvm                            opus                            six                             yt-dlp
cmocka                          graphviz                        libimagequant                   lua                             p11-kit                         slides                          z
confuse                         grep                            libksba                         lua@5.3                         p7zip                           snappy                          z3
coreutils                       grpc                            liblinear                       luajit                          pango                           spdlog                          zeromq
cscope                          gts                             libmpc                          luajit-openresty                pcre                            speex                           zimg
ctags                           guile                           libnghttp2                      luarocks                        pcre2                           sqlite                          zlib
curl                            harfbuzz                        libogg                          luv                             php                             sqlmap                          zola
dav1d                           heroku                          libpng                          lz4                             pigz                            srt                             zopfli
dfu-programmer                  heroku-node                     libpq                           lzo                             pillow                          ssdeep                          zstd
dfu-util                        hid_bootloader_cli              libpthread-stubs                m4                              pinentry                        sshfs-mac
docutils                        hidapi                          libraqm                         macvim                          pinentry-mac                    subversion
dtc                             highway                         librist                         magic-wormhole                  pipenv                          svt-av1
entr                            htop                            librsvg                         make                            pixman                          tcl-tk
fd                              hugo                            libsamplerate                   mbedtls                         pkg-config                      tealdeer

==> Casks
1password-cli   espanso         keka            kitty           macfuse         macvim          neovide         rectangle       shortcat        vanilla

@nobe4 Thanks, nothing obvious there ๐Ÿค”. Will attempt a PR.

@MikeMcQuaid thanks, is there any investigation/reinstall I can do on my side?

@nobe4 I can't figure out how to reproduce this locally which is making a PR tricky (have tried a hacked version of these formulae that avoids me needing to build from source but no reproduction there). You could try to brew uninstall --force arm-none-eabi-binutils arm-none-eabi-gcc@8 and reinstall them, maybe?

@MikeMcQuaid thanks! I did all that and got a new error ๐ŸŽ‰ ๐Ÿ˜ญ

It did seem to complain about qmk:

Error: Refusing to uninstall /usr/local/Cellar/arm-none-eabi-gcc@8/8.5.0_1
because it is required by qmk, which is currently installed.
$ brew uninstall --force arm-none-eabi-binutils arm-none-eabi-gcc@8
Error: Refusing to uninstall /usr/local/Cellar/arm-none-eabi-gcc@8/8.5.0_1
because it is required by qmk, which is currently installed.
You can override this and force removal with:
  brew uninstall --ignore-dependencies arm-none-eabi-binutils arm-none-eabi-gcc@8


$ brew uninstall --ignore-dependencies arm-none-eabi-binutils arm-none-eabi-gcc@8
Uninstalling /usr/local/Cellar/arm-none-eabi-binutils/2.41... (81 files, 30.8MB)
Uninstalling /usr/local/Cellar/arm-none-eabi-gcc@8/8.5.0_1... (2,744 files, 379.7MB)


$ brew install arm-none-eabi-binutils arm-none-eabi-gcc@8
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
==> Updated Homebrew from 4.1.20 (ad1bb178d) to 4.1.21 (705bfe316).
Updated 2 taps (trufflesecurity/trufflehog and homebrew/core).
==> New Formulae
spicetify-cli

You have 10 outdated formulae installed.


The 4.1.21 changelog can be found at:
  https://github.com/Homebrew/brew/releases/tag/4.1.21
==> Downloading https://ghcr.io/v2/homebrew/core/arm-none-eabi-binutils/manifests/2.41
Already downloaded: /Users/n/Library/Caches/Homebrew/downloads/15bb080bd0ad1245645aa39bd43cd6ac2b07f821f72557c56fbc80dbc4f42a21--arm-none-eabi-binutils-2.41.bottle_manifest.json
==> Fetching arm-none-eabi-binutils
==> Downloading https://ghcr.io/v2/homebrew/core/arm-none-eabi-binutils/blobs/sha256:4a28c60ed07d043b8f04681e46726ca80146bb821fd3823767c55a4ebe19b883
Already downloaded: /Users/n/Library/Caches/Homebrew/downloads/8412b7b5baded17b5597287cd4e04d8326138d33014a323d644f86738e2af4cd--arm-none-eabi-binutils--2.41.sonoma.bottle.tar.gz
==> Fetching dependencies for osx-cross/arm/arm-none-eabi-gcc@8: osx-cross/arm/arm-none-eabi-binutils
==> Fetching osx-cross/arm/arm-none-eabi-binutils
==> Downloading https://github.com/osx-cross/homebrew-arm/releases/download/arm-none-eabi-binutils-2.38/arm-none-eabi-binutils-2.38.ventura.bottle.3.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/46913691/0481b091-db73-4373-94b8-18175cc7d10d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20231120%2Fus-east-1%2
######################################################################################################################################################################################################################################## 100.0%
==> Fetching osx-cross/arm/arm-none-eabi-gcc@8
==> Downloading https://github.com/osx-cross/homebrew-arm/releases/download/arm-none-eabi-gcc@8-8.5.0_1/arm-none-eabi-gcc%408-8.5.0_1.ventura.bottle.tar.gz
Already downloaded: /Users/n/Library/Caches/Homebrew/downloads/1a3d24c7c4051e1a6622959c4e1edbc2bdde9bb48a21a442d32fd4d3b073eb4c--arm-none-eabi-gcc
==> Pouring arm-none-eabi-binutils--2.41.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/arm-none-eabi-binutils/2.41: 81 files, 30.8MB
==> Running `brew cleanup arm-none-eabi-binutils`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /Users/n/Library/Caches/Homebrew/arm-none-eabi-binutils--2.38.ventura.bottle.3.tar.gz... (9.0MB)
==> Installing arm-none-eabi-gcc@8 from osx-cross/arm
==> Installing dependencies for osx-cross/arm/arm-none-eabi-gcc@8: osx-cross/arm/arm-none-eabi-binutils
Error: arm-none-eabi-binutils is already installed from homebrew/core!
Please `brew uninstall arm-none-eabi-binutils` first."



$ brew uninstall arm-none-eabi-binutils
Uninstalling /usr/local/Cellar/arm-none-eabi-binutils/2.41... (81 files, 30.8MB)



$ brew install arm-none-eabi-binutils
==> Downloading https://ghcr.io/v2/homebrew/core/arm-none-eabi-binutils/manifests/2.41
Already downloaded: /Users/n/Library/Caches/Homebrew/downloads/15bb080bd0ad1245645aa39bd43cd6ac2b07f821f72557c56fbc80dbc4f42a21--arm-none-eabi-binutils-2.41.bottle_manifest.json
==> Fetching arm-none-eabi-binutils
==> Downloading https://ghcr.io/v2/homebrew/core/arm-none-eabi-binutils/blobs/sha256:4a28c60ed07d043b8f04681e46726ca80146bb821fd3823767c55a4ebe19b883
Already downloaded: /Users/n/Library/Caches/Homebrew/downloads/8412b7b5baded17b5597287cd4e04d8326138d33014a323d644f86738e2af4cd--arm-none-eabi-binutils--2.41.sonoma.bottle.tar.gz
==> Pouring arm-none-eabi-binutils--2.41.sonoma.bottle.tar.gz
๐Ÿบ  /usr/local/Cellar/arm-none-eabi-binutils/2.41: 81 files, 30.8MB
==> Running `brew cleanup arm-none-eabi-binutils`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

$ brew bundle dump
Error: key not found: "osx-cross/arm/arm-none-eabi-binutils"
Did you mean?  "osx-cross/avr/avr-binutils"
Please report this bug:
  https://github.com/Homebrew/homebrew-bundle/issues
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `fetch'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `tsort_each_child'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:415:in `call'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:415:in `each_strongly_connected_component_from'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `each'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:188:in `tsort_each_child'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:415:in `call'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:415:in `each_strongly_connected_component_from'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:349:in `block in each_strongly_connected_component'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:347:in `each_key'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:347:in `call'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:347:in `each_strongly_connected_component'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:226:in `tsort_each'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:176:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:176:in `to_a'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:176:in `tsort'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tsort.rb:152:in `tsort'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:216:in `sort!'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:39:in `formulae_by_full_name'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:23:in `formulae'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/brew_dumper.rb:55:in `dump'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/dumper.rb:22:in `build_brewfile'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/dumper.rb:35:in `dump_brewfile'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/lib/bundle/commands/dump.rb:11:in `run'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle/cmd/bundle.rb:127:in `bundle'
/usr/local/Homebrew/Library/Homebrew/brew.rb:86:in `<main>'
$ brew uninstall --ignore-dependencies arm-none-eabi-binutils arm-none-eabi-gcc@8

Did brew bundle dump work after this, out of interest?

Something worth noting, it seems that I use those dependencies in the context of the qmk project to flash keyboards. You can see the script used to install the dependencies that seems to be misbehaving:

https://github.com/qmk/qmk_firmware/blob/a6521b8521f56f39c3aa5054bf04307190de9035/util/install/macos.sh#L16-L28

Moreover, I tried to flash a new version of my keyboard today and was faced with:

/bin/sh: arm-none-eabi-gcc: command not found
Generating: .build/obj_ferris_sweep_nobe4/src/info_deps.d                                           [OK]
/bin/sh: arm-none-eabi-gcc: command not found
sh: arm-none-eabi-gcc: command not found
sh: arm-none-eabi-gcc: command not found
make[2]: *** [gccversion] Error 127

Probably related to the uninstall I did yesterday. I'm going to try reinstalling today and see if I have any luck

@MikeMcQuaid

Did brew bundle dump work after this, out of interest?

It did not, same error, as shown in the last comment of #1265 (comment)

@nobe4 so osx-cross/arm/arm-none-eabi-binutils was mentioned even when it was not installed? Good to know.

You may want to try and uninstall/reinstall qmk, too?

It seems that running the following fixed it:

brew uninstall qmk avr-binutils avr-gcc@8

Then

brew install qmk

reinstalled the missing dependencies and brew bundle dump worked again ๐Ÿค”

Seems that I was doing somethink funky with my qmk install. I shall dig more into this later.

Something else interesting: It seems that I now cannot flash my keyboard because I'm missing arm-none-eabi-objcopy, which is installed with osx-cross/arm/arm-none-eabi-binutils. If I look back at the install for qmk I saw an error that I was able to reproduce with:

$ brew link --force arm-none-eabi-binutils
Error: undefined method `by_macos?' for nil:NilClass
Please report this issue:
  https://docs.brew.sh/Troubleshooting
/usr/local/Homebrew/Library/Homebrew/cmd/link.rb:89:in `block in link'
/usr/local/Homebrew/Library/Homebrew/cmd/link.rb:57:in `each'
/usr/local/Homebrew/Library/Homebrew/cmd/link.rb:57:in `link'
/usr/local/Homebrew/Library/Homebrew/brew.rb:86:in `<main>'

I ended up fixing both the brew bundle dump and the qmk commands by running:

$ brew uninstall --ignore-dependencies arm-none-eabi-binutils
Uninstalling /usr/local/Cellar/arm-none-eabi-binutils/2.38... (76 files, 40.6MB)
arm-none-eabi-binutils 2.41 is still installed.
To remove all versions, run:
  brew uninstall --force arm-none-eabi-binutils


$ brew uninstall --force arm-none-eabi-binutils
Uninstalling arm-none-eabi-binutils... (81 files, 30.8MB)

$ brew reinstall qmk
.. lots of logs


$ brew link --force arm-none-eabi-binutils
Linking /usr/local/Cellar/arm-none-eabi-binutils/2.38... 37 symlinks created.

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/arm-none-eabi-binutils/bin:$PATH"' >> ~/.zshrc


$ brew link --force arm-none-eabi-gcc@8
Linking /usr/local/Cellar/arm-none-eabi-gcc@8/8.5.0_1... 19 symlinks created.

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/arm-none-eabi-gcc@8/bin:$PATH"' >> ~/.zshrc

@MikeMcQuaid could an old version of arm-none-eabi-binutils have caused this issue?

Glad that fixed it. Unsure what will have been going on with the taps here but I'll keep an eye out for others with the same issue. Will reopen if I can figure out how to reproduce.

@MikeMcQuaid could an old version of arm-none-eabi-binutils have caused this issue?

Yes, potentially.

Glad you got it working in the end!

Thanks for the help!