node icon indicating copy to clipboard operation
node copied to clipboard

Increase minimum macOS version

Open anonrig opened this issue 1 year ago • 4 comments

std::format("hello {}", "world") is not available before 13.3, and we support 11. Is there any reason not to update minimum macOS version in the next major?

  • macOS 11 release date -> 2020
  • macOS 13 release date -> 2022
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_floating_point.h:73:32: error: 'to_chars' is unavailable: introduced in macOS 13.3
  to_chars_result __r = _VSTD::to_chars(__first, __last, __value, __fmt, __precision);
../../src/node_file.cc:2159:25: note: in instantiation of function template specialization 'std::format<char *>' requested here
    auto message = std::format("src and dest cannot be the same %s", src.out());

cc @nodejs/build @nodejs/tsc

anonrig avatar Jun 23 '24 14:06 anonrig

For me as a non-macOS user, is this about the macOS system version or about the compiler/toolchain version? And if it's the system version, is it only about the build environment or about the target environment?

tniessen avatar Jun 23 '24 15:06 tniessen

Semi-related Build WG issue tracking macOS CI resources: https://github.com/nodejs/build/issues/3686

richardlau avatar Jun 23 '24 15:06 richardlau

I feel like it is a build environment requirement. How can I verify? @tniessen

anonrig avatar Jun 29 '24 00:06 anonrig

Try to change:

https://github.com/nodejs/node/blob/dcebac8885762c9e37a1a197bab847c8ee4d0bcc/common.gypi#L623

targos avatar Jun 30 '24 09:06 targos