Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
nobe4 opened this issue Nov 18, 2023 · 20 comments
Closed
Labels

Comments

@nobe4
Copy link

nobe4 commented Nov 18, 2023

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:
  [email protected]
  [email protected]

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
@colindean
Copy link
Member

@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

@jacobbednarz
Copy link
Member

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.

@MikeMcQuaid
Copy link
Member

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

@MikeMcQuaid
Copy link
Member

Also do brew bundle dump or brew install fd fail?

@nobe4
Copy link
Author

nobe4 commented Nov 20, 2023

@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`).

@MikeMcQuaid
Copy link
Member

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

@MikeMcQuaid
Copy link
Member

@nobe4 and brew list

@nobe4
Copy link
Author

nobe4 commented Nov 20, 2023

@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 <[email protected]>
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                         [email protected]                       python-setuptools               tree
augeas                          fzf                             jq                              libtool                         ncurses                         python-typing-extensions        tree-sitter
autoconf                        gcc                             jsoncpp                         libunibreak                     neovim                          [email protected]                     trufflehog
avr-binutils                    gd                              krb5                            libuninameslist                 netpbm                          [email protected]                     unbound
avr-gcc@8                       gdb                             [email protected]                   libunistring                    nettle                          [email protected]                     unibilium
avrdude                         gdbm                            lame                            libusb                          nghttp2                         [email protected]                      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                 [email protected]                       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                          [email protected]                     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                         [email protected]                         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

@MikeMcQuaid
Copy link
Member

@nobe4 Thanks, nothing obvious there 🤔. Will attempt a PR.

@nobe4
Copy link
Author

nobe4 commented Nov 20, 2023

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

@MikeMcQuaid
Copy link
Member

@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?

@nobe4
Copy link
Author

nobe4 commented Nov 20, 2023

@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/[email protected]_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>'

@MikeMcQuaid
Copy link
Member

$ brew uninstall --ignore-dependencies arm-none-eabi-binutils arm-none-eabi-gcc@8

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

@nobe4
Copy link
Author

nobe4 commented Nov 21, 2023

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

@nobe4
Copy link
Author

nobe4 commented Nov 21, 2023

@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)

@MikeMcQuaid
Copy link
Member

@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?

@nobe4
Copy link
Author

nobe4 commented Nov 21, 2023

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.

@nobe4
Copy link
Author

nobe4 commented Nov 21, 2023

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?

nobe4 added a commit to nobe4/keyboards that referenced this issue Nov 21, 2023
more config will be needed so that clone + make install + make ferris
works

relates to Homebrew/homebrew-bundle#1265
@MikeMcQuaid
Copy link
Member

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!

@MikeMcQuaid MikeMcQuaid closed this as not planned Won't fix, can't repro, duplicate, stale Nov 22, 2023
@nobe4
Copy link
Author

nobe4 commented Nov 22, 2023

Thanks for the help!

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants