Skip to content

Commit

Permalink
update macOS SDK baseline
Browse files Browse the repository at this point in the history
  • Loading branch information
h-vetinari committed May 12, 2024
1 parent a999bd8 commit 8304364
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions docs/maintainer/knowledge_base.md
Original file line number Diff line number Diff line change
Expand Up @@ -1708,9 +1708,9 @@ You need to rerender the feedstock after this change.
## Requiring newer macOS SDKs
conda-forge uses macOS SDK 10.9 to build software so that they can be deployed to
all macOS versions newer than 10.9. Sometimes, some packages require a newer SDK
to build with. While the default version 10.9 can be overridden using the following
conda-forge uses macOS SDK 10.13 to build software so that they can be deployed to
all macOS versions newer than 10.13. Sometimes, some packages require a newer SDK
to build with. While the default version 10.13 can be overridden using the following
changes to the recipe, it should be done as a last resort. Please consult with
core team if this is something you think you need.
Expand All @@ -1719,13 +1719,13 @@ To use a new SDK, add the following in `recipe/conda_build_config.yaml`
```yaml
# Please consult conda-forge/core before doing this
MACOSX_SDK_VERSION: # [osx and x86_64]
- "10.12" # [osx and x86_64]
- "10.15" # [osx and x86_64]
```
Note that this should be done if the error you are getting says that a header is not
found or a macro is not defined. This will make your package compile with a newer SDK
but with `10.9` as the deployment target.
WARNING: some packages might use features from `10.12` if you do the above due to
but with `10.13` as the deployment target.
WARNING: some packages might use features from `10.15` if you do the above due to
buggy symbol availability checks. For example packages looking for `clock_gettime`
will see it as it will be a weak symbol, but the package might not have a codepath
to handle the weak symbol, in that case, you need to update the `c_stdlib_version`
Expand All @@ -1737,9 +1737,9 @@ is available only for macOS x.x, then do the following in `recipe/conda_build_co
```yaml
# Please consult conda-forge/core before doing this
c_stdlib_version: # [osx and x86_64]
- "10.12" # [osx and x86_64]
- "10.15" # [osx and x86_64]
MACOSX_SDK_VERSION: # [osx and x86_64]
- "10.12" # [osx and x86_64]
- "10.15" # [osx and x86_64]
```
In `recipe/meta.yaml`, add the following to ensure that the user's system is compatible.
Expand All @@ -1761,7 +1761,7 @@ The libc++ library uses Clang availability annotations to mark certain symbols a
unavailable when targeting versions of macOS that ship with a system libc++
that do not contain them. Clang always assumes that the system libc++ is used.

The conda-forge build infrastructure targets macOS 10.9 and some newer C++ features
The conda-forge build infrastructure targets macOS 10.13 and some newer C++ features
such as `fs::path` are marked as unavailable on that platform, so the build aborts:

```bash
Expand Down

0 comments on commit 8304364

Please sign in to comment.