[R-pkg-devel] Can -mmacosx-version-min be raised to 10.15 ?
Simon Urbanek
@|mon@urb@nek @end|ng |rom R-project@org
Thu Nov 16 22:43:00 CET 2023
Dirk,
> On 17/11/2023, at 10:28 AM, Dirk Eddelbuettel <edd using debian.org> wrote:
>
>
> Simon,
>
> On 17 November 2023 at 09:35, Simon Urbanek wrote:
> | can you clarify where the flags come from? The current CRAN builds (big-sur-x86_64 and big-sur-arm64) use
> |
> | export SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
> | export MACOSX_DEPLOYMENT_TARGET=11.0
> |
> | so the lowest target is 11.0 and it is no longer forced it in the flags (so that users can more easily choose their desired targets).
>
> Beautiful, solves our issue. Was that announced at some point? If so, where?
>
I don't see what is there to announce as the packages should be simply using flags passed from R and that process did not change.
That said, the binary target for CRAN has been announced on this list as part of the big-sur build announcement:
https://stat.ethz.ch/pipermail/r-sig-mac/2023-April/014731.html
> For reference the R-on-macOS FAQ I consulted still talks about 10.13 at
> https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Installation-of-source-packages
>
> CC = clang -mmacosx-version-min=10.13
> CXX = clang++ -mmacosx-version-min=10.13 -std=gnu++14
> FC = gfortran -mmacosx-version-min=10.13
> OBJC = clang -mmacosx-version-min=10.13
> OBJCXX = clang++ -mmacosx-version-min=10.13
>
> so someone may want to refresh this. It is what I consulted as relevant info.
>
It says "Look at file /Library/Frameworks/R.framework/Resources/etc/Makeconf" so it is just an example that will vary by build. For example big-sur-arm64 will give you
$ grep -E '^(CC|CXX|FC|OBJC|OBJCXX) ' /Library/Frameworks/R.framework/Resources/etc/Makeconf
CC = clang -arch arm64
CXX = clang++ -arch arm64 -std=gnu++14
FC = /opt/R/arm64/bin/gfortran -mtune=native
OBJC = clang -arch arm64
OBJCXX = clang++ -arch arm64
Again, this is just an example, no one should be entering such flags by hand - that's why they are in Makeconf so packages can use them without worrying about the values (see R-exts 1.2: https://cran.r-project.org/doc/manuals/R-exts.html#Configure-and-cleanup for details).
Cheers,
Simon
> Thanks, Dirk
>
> |
> | Cheers,
> | Simon
> |
> |
> |
> | > On 17/11/2023, at 2:57 AM, Dirk Eddelbuettel <edd using debian.org> wrote:
> | >
> | >
> | > Hi Simon,
> | >
> | > We use C++20 'inside' our library and C++17 in the API. Part of our C++17 use
> | > is now expanding to std::filesystem whose availability is dependent on the
> | > implementation.
> | >
> | > The compiler tells us (in a compilation using -mmacosx-version-min=10.14)
> | > that the features we want are only available with 10.15.
> | >
> | > Would we be allowed to use this value of '10.15' on CRAN?
> | >
> | > Thanks as always, Dirk
> | >
> | >
> | > [1] https://github.com/TileDB-Inc/TileDB/actions/runs/6882271269/job/18720444943?pr=4518#step:7:185
> | >
> | > --
> | > dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
> | >
> | > ______________________________________________
> | > R-package-devel using r-project.org mailing list
> | > https://stat.ethz.ch/mailman/listinfo/r-package-devel
> | >
> |
>
> --
> dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
>
More information about the R-package-devel
mailing list