gravitational / teleport

The easiest, and most secure way to access and protect all of your infrastructure.
https://goteleport.com
GNU Affero General Public License v3.0
16.96k stars 1.7k forks source link

tsh v14 will not install on macOS Monterey #32601

Open zmb3 opened 9 months ago

zmb3 commented 9 months ago

When attempting to install tsh.pkg (universal build) on macOS Monterey, users see the following error:

image

Our docs still say that High Sierra or later is supported.

Go 1.21 still supports macOS 10.15 or later.

Our plist shows 10.12.0 as the minimum version:

https://github.com/gravitational/teleport/blob/e13137016c7836e46269ad65c3971ae1833b36da/build.assets/macos/tsh/tsh.app/Contents/Info.plist#L45-L46

I downloaded and installed the pkg and found the following:

➜ otool -l /Applications/tsh.app/Contents/MacOS/tsh | grep -A7 LC_BUILD_VERSION
      cmd LC_BUILD_VERSION
  cmdsize 32
 platform 1
    minos 13.0
      sdk 13.3
   ntools 1
     tool 3
  version 857.1
vtool -show-build /Applications/tsh.app/Contents/MacOS/tsh
/Applications/tsh.app/Contents/MacOS/tsh (architecture x86_64):
Load command 9
      cmd LC_BUILD_VERSION
  cmdsize 32
 platform MACOS
    minos 13.0
      sdk 13.3
   ntools 1
     tool LD
  version 857.1
/Applications/tsh.app/Contents/MacOS/tsh (architecture arm64):
Load command 11
      cmd LC_BUILD_VERSION
  cmdsize 32
 platform MACOS
    minos 13.0
      sdk 13.3
   ntools 1
     tool LD
  version 857.1

Perhaps an upgraded builder with a new SDK is forcing a higher minos?

camscale commented 4 weeks ago

As part of the v16 test plan, I installed the 16.0.0-alpha.3 packages on an EC2 instance with 11.7 (Big Sur) which is the earliest supported ARM64 macOS instance, and everything installed and ran fine: Teleport Connect, tsh, teleport and teleport-ent.

What is odd is that the minos field in the binaries was 13.0 as above, but there were no problems installing these 4 packages (1 dmg & 3 pkg).

I will try again with Monterey (as per this issue) and see if that behaves differently.

I will also test on Catalina (10.15) which will require an x86_64 instance.

camscale commented 4 weeks ago

I have also done a complete build where minos is reported as 11.0 - I'll raise some PRs for that - but I would like to reproduce this failure first so I can be sure it is fixed.

camscale commented 4 weeks ago

The same version (16.0.0-alpha.3) installs and runs on x86 Catalina

camscale commented 4 weeks ago

Also no problem installing and running 16.0.0-alpha3 on Monterey (macOS 12) on arm64, even though the binaries say the minos is 13. I can't reproduce this.

camscale commented 4 weeks ago

I just tried installing tsh-14.0.0.pkg and tsh-14.0.1.pkg on Monterey (macos 12) and it also installed fine. Given the date of this issue, it would seem that it is for 14.0.0 or 14.0.1.

The binary also reports minos of 13.0, but it installs and runs fine:

$ vtool -show-build /usr/local/bin/tsh
/usr/local/bin/tsh (architecture x86_64):
Load command 9
      cmd LC_BUILD_VERSION
  cmdsize 32
 platform MACOS
    minos 13.0
      sdk 13.3
   ntools 1
     tool LD
  version 857.1
/usr/local/bin/tsh (architecture arm64):
Load command 11
      cmd LC_BUILD_VERSION
  cmdsize 32
 platform MACOS
    minos 13.0
      sdk 13.3
   ntools 1
     tool LD
  version 857.1
$ tsh version
Teleport v14.0.1 git:v14.0.1-0-g2108b20 go1.21.1