Skip to content

Conversation

HannesWell
Copy link
Member

@HannesWell HannesWell marked this pull request as draft October 8, 2025 17:48
@HannesWell HannesWell force-pushed the mac-compile-target-experiments branch from cf1e21a to 7921573 Compare October 8, 2025 17:59
@HannesWell HannesWell marked this pull request as ready for review October 8, 2025 18:03
Copy link
Contributor

github-actions bot commented Oct 8, 2025

Test Results

  115 files  ±0    115 suites  ±0   10m 43s ⏱️ - 1m 3s
4 546 tests ±0  4 530 ✅ ±0  16 💤 ±0  0 ❌ ±0 
  311 runs  ±0    308 ✅ ±0   3 💤 ±0  0 ❌ ±0 

Results for commit 7d1c40c. ± Comparison against base commit 3a013ef.

♻️ This comment has been updated with latest results.

@HannesWell HannesWell force-pushed the mac-compile-target-experiments branch from 7921573 to a52b96f Compare October 8, 2025 18:14
@HannesWell
Copy link
Member Author

@Phillipus Can you help here to assess if the MACOSX_DEPLOYMENT_TARGET environment property serves the intended purpose from

and

I have to admit that I'm not sure.
Is minos 10.15 respectively version 10.10 the target version we are looking for? Or is it the sdk value?
The latter seem not to change with the env variable mention above, but minos/version seem to consider it?

@HeikoKlare
Copy link
Contributor

Is minos 10.15 respectively version 10.10 the target version we are looking for? Or is it the sdk value?
The latter seem not to change with the env variable mention above, but minos/version seem to consider it?

I did some research and tested on my own locally on Mac and I am quite sure that minos is the minimum required MacOS version to deploy the binaries to and execute them on. As you have already pointed to in eclipse-platform/eclipse.platform.releng.aggregator#3315, the environment variable that you have touched defines that minimum version, see also https://cmake.org/cmake/help/latest/envvar/MACOSX_DEPLOYMENT_TARGET.html

I've tested locally on a system that was just updated to MacOS 26.0. In consequence, the sdk value always shows 26.0, as the SDK seems to have the version of the system you use for compilation. I changed the MACOSX_DEPLOYMENT_TARGET value in the build script to different values, and the resulting binaries always have that same value as minos after compilation. Only exception is that compiling against any 10.x always results in minos==11.0 (probably because I am on aarch64, for which no 10.x versions exist at all).

Also see this for some pointers confirming the assumption that you made: https://stackoverflow.com/questions/17143373/determine-minimum-osx-version-a-binary-was-compiled-for

@HannesWell
Copy link
Member Author

I did some research and tested on my own locally on Mac and I am quite sure that minos is the minimum required MacOS version to deploy the binaries to and execute them on.

OK, great. Thank you for your help on this one!

But besides the minos version, would it also be necessary to keep the SDK as low as possible? Would it work to run on mac 14 if the binaries are linked against sdk 15 (assuming sdk 15 is the default on mac 15)?
The issue linked from @Phillipus indicates something like this:

But as far as I can tell, it's possible to install older versions of xcode/the SDK. So if that's necessary we should be able to do it even on newer OS versions. I'll ask in the EF gitlab issue about that.

@HannesWell HannesWell force-pushed the mac-compile-target-experiments branch from a52b96f to 7d1c40c Compare October 9, 2025 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants