circleci

rm -rf /home/circleci/.gitconfig
borkdude 2020-09-22T07:38:34.000500Z

what's a sane value of MACOSX_DEPLOYMENT_TARGET in 2020 for command line tools?

borkdude 2020-09-22T07:39:50.000900Z

and what's the default value when you use XCode 12 on CircleCI?

glenjamin 2020-09-22T10:30:13.001700Z

I suspect most of us here aren’t familiar enough with macOS deployments to answer those sorts of Qs. You might be able to get a decent answer via zendesk support

borkdude 2020-09-22T10:47:01.001900Z

I got it working with 10.11

borkdude 2020-09-22T10:47:06.002100Z

10.10 failed

borkdude 2020-09-22T10:47:17.002400Z

so 10.11 seems the minimum viable version for GraalVM

borkdude 2020-09-22T11:14:20.002800Z

tl;dr 10.13 should be fine since 10.12 is EOL

1👍
borkdude 2020-09-22T14:07:17.003300Z

@glenjamin I have gotten emails about the Xcode version:

Hi there,

We’re reaching out to you to let you know that we have deprecated the following macOS images on CircleCI and will be removing them from our platform:
Xcode 9.3.1 - deprecated, removal date: 28 September, 2020
Xcode 9.0.1 - deprecated, removal date: 5 October, 2020
In the last two weeks, you have used the Xcode 9.3.1 or 9.0.1 images on the following project(s):

[<https://github.com/borkdude/clj-kondo>, <https://github.com/borkdude/sci>, <https://github.com/borkdude/babashka>]

borkdude 2020-09-22T14:07:43.003900Z

but I think it might be nice information to have how to build for older macOS / iOS versions somewhere, so people know it's safe to just upgrade

glenjamin 2020-09-22T14:08:02.004200Z

ah, is that via build flags or something?

borkdude 2020-09-22T14:08:26.004400Z

mac:
    macos:
      xcode: "12.0.0"
    environment:
      MACOSX_DEPLOYMENT_TARGET: 10.13 # 10.12 is EOL

glenjamin 2020-09-22T14:08:35.004600Z

oh cool

glenjamin 2020-09-22T14:08:48.005Z

it looks like we’re keeping 9.4.1 available for now as well

glenjamin 2020-09-22T14:08:58.005300Z

but the newer you go, the longer it should hang around

glenjamin 2020-09-22T14:11:39.005800Z

I’ve passed that along to our macos team

borkdude 2020-09-22T14:12:16.006Z

:thumbsup:

glenjamin 2020-09-22T14:51:34.006300Z

from our chief mac support engineer: > adam  [15:15] > It’s very project dependant > adam  [15:17] > Deployment target setting in that way would only work for Xcode projects and really it should be set in the xcode project itself

borkdude 2020-09-22T14:56:17.007200Z

@glenjamin FWIW I'm not using an Xcode project, but building a binary with GraalVM native-image which uses the C++ compiler from XCode (I think). With the above settings, I find this:

Load command 9
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.13
      sdk 10.15.6

borkdude 2020-09-22T14:57:15.007400Z

with

otool -l bb

borkdude 2020-09-22T14:58:11.008100Z

The previous one (built using old xcode setting in circleci, no macos deployment target flag):

Load command 9
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.12
      sdk 10.12

glenjamin 2020-09-22T14:58:11.008200Z

:mindblown:

borkdude 2020-09-22T14:58:37.008700Z

when upgrading I got a min version of 10.15 which inspired my to go check on this

borkdude 2020-09-22T14:58:58.008900Z

anyway, it works for me ;)

borkdude 2020-09-22T15:00:35.009300Z

@lee Maybe this is something we should document in our clj-graal repo

lread 2020-09-22T15:03:57.010300Z

Ya, @borkdude, I think you are right.

lread 2020-09-22T15:06:27.011400Z

You’ve done the hard part, I can write up the tip if you like.

borkdude 2020-09-22T15:07:23.011800Z

I would not be sad if you did that :)

1