If you use the Homebrew package manager in macOS and you have macOS 12 because your Mac is too old to update to a new version of macOS, you can say goodbye to Homebrew: if you try to update your brew packages, you get such a message:
1 2 3 4 5 6 7 8 9 10 11 |
Warning: You are using macOS 12. We (and Apple) do not provide support for this old version. It is expected behaviour that some formulae will fail to build in this old version. It is expected behaviour that Homebrew will be buggy and slow. Do not create any issues about this on Homebrew's GitHub repositories. Do not create any issues even if you think this message is unrelated. Any opened issues will be immediately closed without response. Do not ask for help from Homebrew or its maintainers on social media. You may ask for help in Homebrew's discussions but are unlikely to receive a response. Try to figure out the problem yourself and submit a fix as a pull request. We will review it but may or may not accept it. |
If you continue with the update or install a new package, you’ll have to wait a while; packages will be compiled from the source!
For example, on my old MacBookAir 2016, I only had a few homebrew packages to upgrade:
1 2 3 4 5 6 7 8 9 10 |
==> Outdated Formulae bat icu4c@76 libxau python@3.12 ca-certificates jpeg-turbo libxrender readline cairo libgit2 luajit sqlite freetype libpng lz4 stow fzf libssh2 neovim tree-sitter gettext libtiff openjdk unibilium git libunistring openssl@3 wget glib libuv pcre2 xz harfbuzz libx11 pixman zoxide |
After 3 hours (!) I gave up! Things like “zoxide” or “neovim” depend on “llvm”, which, after 30 minutes, wasn’t yet compiled completely! The other dependencies of “zoxide” still take a lot to compile; for example (look at “z3”):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
==> Upgrading zoxide 0.9.4 -> 0.9.6 ==> Installing dependencies for zoxide: libssh2, libgit2, z3, swig, llvm and rust ==> Installing zoxide dependency: libssh2 ==> Downloading https://formulae.brew.sh/api/formula.jws.json ######################################################################### 100.0% ==> ./configure --disable-silent-rules --disable-examples-build --with-openssl - ==> make install 🍺 /usr/local/Cellar/libssh2/1.11.1: 201 files, 1.2MB, built in 4 minutes 41 seconds ==> Installing zoxide dependency: libgit2 ==> cmake -S . -B build -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TEST ==> cmake --build build ==> cmake --install build ==> cmake -S . -B build-static -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=OFF -DBU ==> cmake --build build-static 🍺 /usr/local/Cellar/libgit2/1.8.4: 106 files, 4.6MB, built in 3 minutes 19 seconds ==> Installing zoxide dependency: z3 ==> cmake -S . -B build -DZ3_LINK_TIME_OPTIMIZATION=ON -DZ3_INCLUDE_GIT_DESCRIBE ==> cmake --build build ==> cmake --install build ==> make -C contrib/qprofdiff 🍺 /usr/local/Cellar/z3/4.13.4: 120 files, 33.9MB, built in 23 minutes 7 seconds ... |
Unless you’re willing to wait for several hours (I am not), I guess it’s time to say goodbye to Homebrew. As for me, it also means saying goodbye to macOS on this old MacBookAir (but still a capable computer) and trying to install Linux 🙂
You might want to look at the Homebrew issue https://github.com/orgs/Homebrew/discussions/5603.