macOS Big Sur Issue

New macOS Big Sur developer beta 3 causes homebrew to think that you’re on 11.0, not 10.16 even on intel Mac.

jasonlee@Jasonui-MacBookAir fiddle % brew install wgcf

Updating Homebrew…

Warning: You are using macOS 11.0.

We do not provide support for this pre-release version.

You will encounter build failures with some formulae.

Please create pull requests instead of asking for help on Homebrew’s GitHub,

Discourse, Twitter or IRC. You are responsible for resolving any issues you

experience while you are running this pre-release version.

[Rest cut due to link limitation]

Error: Could not find an SDK that supports macOS 11.0.

You may have have an outdated or incompatible CLT.

Homebrew found the following SDKs in the CLT install:

10.16

10.15

Please update CLT or uninstall it if no updates available.

Device: MacBookAir5,2 no modifications
macOS Version: macOS 11.0 (10.16) Developer Beta 3
Homebrew: from brew.sh

2 Likes

Update

My apologies. The suggestion that I made below to use SYSTEM_VERSION_COMPAT=1 works fine for installing brew itself, but does not seem to work for installing formula.

I will leave my original post so others can see what I suggested, and that it did not work.

Orignal Post Follows…


Quoting from The Eclectic Light Company’s “Big Sur is both 10.16 and 11.0 – it’s official” post:

Apple has confirmed that the next major release of macOS, Big Sur, will identify itself as both version 10.16 and 11.0 according to context. This should put the minds of many at rest, and ease any pressure on updating apps and scripts.

Shell and other scripts don’t have the benefit of an SDK to take care of such matters for them. If the calling environment sets the variable SYSTEM_VERSION_COMPAT=1 then Big Sur will return 10.16 as its version number; with that absent or set to 0, the version returned will be 11.0.

So, here’s an example of how that can work on Big Sur Dev B3:


%  sw_vers 
ProductName:	macOS
ProductVersion:	11.0
BuildVersion:	20A5323l

%  SYSTEM_VERSION_COMPAT=1 sw_vers
ProductName:	Mac OS X
ProductVersion:	10.16
BuildVersion:	20A5323l

%  export SYSTEM_VERSION_COMPAT=1  

%  sw_vers                         
ProductName:	Mac OS X
ProductVersion:	10.16
BuildVersion:	20A5323l

The first one shows what sw_vers returns normally.

The second shows how to set 10.16 as the value for one command (the sw_vers which follows0.

The third sets SYSTEM_VERSION_COMPAT=1 for all commands that follow (until that shell window is closed).

The fourth shows how sw_vers responds once SYSTEM_VERSION_COMPAT=1 is set.

If you want SYSTEM_VERSION_COMPAT=1 to always be applied, I would suggest adding it to ~/.zshenv or equivalent.

So if you run export SYSTEM_VERSION_COMPAT=1 before your brew commands, it should work better.


p.s. - If you want to be able to write a zsh shell script which can use either 10.16 or 11.0, I wrote a HOW-TO for that at my Rhymes With Diploma website:

Compare macOS Versions with zsh and is-at-least

1 Like

Will there be a fix for this in the future?

Your question is essentially, “Will brew work with Big Sur?”

Well, I’m not part of the development team, but my response is, “Yes, of course. But it probably won’t be officially supported until Big Sur is officially released.”

In the meantime, if you rely on brew, stay away from beta OSes (especially ones that still don’t even have a public beta but only a developer beta).

Oh wow, I have been installing the betas ahead of time forever, but I always had issues with Brew, I had no idea about export SYSTEM_VERSION_COMPAT=1 thanks [tjluoma] this is epic!

1 Like