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

3 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

I had this same issue on Big Sur beta 4 (Intel). I was able to fix it by moving the existing installation of Xcode Command Line tools to another folder (e.g. /Library/Developer/CommandLineTools to /Library/Developer/CommandLineTools-Old - may be optional in your case) and downloading/installing the latest version of Command Line tools from here: https://developer.apple.com/download/more/?name=for%20Xcode . MacOSX11.0.sdk shows up under the SDKs folder.

After a brew update, I am able to install packages. Homebrew is able to find 11.0 and continue without setting any additional environment variables.

5 Likes

I did the same and it worked! Thanks @jlpilkin!

I literally went sleep yesterday after trying to solve that for quite some time. Woke up and found that comment :smiley:

1 Like

I did a clean install of Big Sur with the public beta (which I believe is basically the same as dev beta 4) and it worked perfectly. I did install the beta of Xcode and the Xcode CL tools, and made sure I ran Xcode once to accept the terms and conditions.

I did run into a few things that didn’t compile. I think mas was one of them. But I just went to the Github page and installed the pre-compiled version from the “Releases”. I’m sure it will work better by official Big Sur release.

recently, I install asix-ax88179 with homebrew cask drivers with macOS big sur public beta 6. It worked pretty fine at the moment. But several days later, I did a daily brew update as usual, catching a new asix-ax88179 update. Subsequently, I tried brew upgrade, but things tuned to be completely mess. It threw horrible error messages as below.
Executing: /usr/bin/kmutil showloaded --list-only --bundle-identifier com.asix.driver.ax88179-178a

Executing: /usr/bin/kmutil unload -b com.asix.driver.ax88179-178a

Error: Kernel request failed: (libkern/kext) not found (-603947002)

==> Purging files for version 2.18.0,1.8.0 of Cask asix-ax88179

Error: asix-ax88179: Failure while executing; /usr/bin/sudo -E -- /sbin/kextunload -b com.asix.driver.ax88179-178a exited with 1. Here’s the output:

Executing: /usr/bin/kmutil unload -b com.asix.driver.ax88179-178a

Error: Kernel request failed: (libkern/kext) not found (-603947002)
Thereafter, I tried to fix it by ‘brew cask uninstall asix-ax88179’ , ’ ‘brew cask uninstall --force asix-ax88179’ several times. As you might imagine, they all tuned to failure. Personally, I still don’t know Is it caused by MacOS big sur or some long-existing problem about this cask or some king of hardware diver kernel problem which I couldn’t solve alone. I have to mention: I install it on big sur public beta 5/6 and upgrade it on pubilc beta 6

Casks only really run the official installer so I doubt this was because you used the cask install. Maybe you could contact the developers and ask?

@ustcw0ng this is a result of the changes I made in this PR.

Running rm -r "$(brew --prefix)/Caskroom/asix-ax88179" and then brew cask install --force asix-ax88179 may fix your issue.

@miccal, Thanks you for your solution, it does work! :smiley: .But the problem remains to puzzle me. What caused it? MacOS kernel problem or brew-upgrade process problem due to the script. Anyway, thank you for your solution

You’re welcome.

The problem was due to Cask attempting the uninstall using the Cask file stored locally in your Caskroom, which is why running rm -r "$(brew --prefix)/Caskroom/asix-ax88179" worked – that made Cask “forget” the old method of uninstalling, which was failing.

Command Line Tools for Xcode 12.2 beta 2 fixes the issue.

1 Like

There’s a simple answer. Just put this into the bash:
[REDACTED BY MODERATOR]

Please stop suggesting random alternative bash scripts and make a pull request to fix the homebrew one instead.

Don’t need pull requests, just need the latest beta version of Xcode CLU.

Can a cask/homebrew install script require a certain version of Xcode CLU?

Casks can depend on a specific XCode version AFAIK. The installer expects no version to be present so it’ll try a fresh install of the CLT.

Hey, I would gladly do a pull request to have it require a minimum version of CLT… since I am running Apple Silicon.