Upgrade to macOS Big Sur

Upgrade to macOS Big Sur

When Big Sur was released 2 weeks ago, everyone talked about M1 Silicon compatibility and possible broken things on older Macbooks.

macOS Upgrade

It downloaded ~13GB and installed it unattended afterwards. No problems logging in and continuing to work :)

Homebrew

I'm using Homebrew to install CLI tools and apps not available on a native macOS installation. The setup is described and automated in my dotfiles repository.

Homebrew requires an up-to-date compiler toolchain with Xcode. Some packages are built with brew on the local OS. This is where the upgrade typically fails, and it happened to me as well this time.

$ brew upgrade

Warning: You are using macOS 11.0.
We do not provide support for this released but not yet supported version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
released but not yet supported version.

...

==> Upgrading ssh-copy-id 8.2p1 -> 8.4p1
==> Downloading https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
######################################################################## 100.0%
Error: Your CLT does not support macOS 11.0.
It is either outdated or was modified.
Please update your CLT or delete it if no updates are available.
Error: An exception occurred within a child process:
  SystemExit: exit

I've read about upgrading to a newer Xcode version before, albeit would not want to use a beta version. This blog post also suggested to try a forced software upgrade first:

$ brew doctor

$ softwareupdate --all --install --force

The fix involved purging the Developer Tools and re-installing them.

$ sudo rm -rf /Library/Developer/CommandLineTools
$ sudo xcode-select --install

After that, the upgrade succeeded:

$ brew upgrade

Homebrew casks for apps is now fully integrated into the brew command, and all apps have been upgraded as well.

In case there are any shortcomings or binary incompatibilities, re-install all currently installed packages. This happened previously with Catalina and x64 only.

$ brew reinstall $(brew list)

$ brew reinstall $(brew list --cask)

More work done

I've revised my dotfiles automation scripts and updated the repository with Big Sur changes. This just led me to have deeper look into using Homebrew bundle.

Follow up in this blog post to learn more how to use Homebrew bundle on macOS.

Consider donating to Homebrew, their work needs to be supported!