@@ -1727,15 +1727,15 @@ but with `10.9` as the deployment target.
1727
1727
WARNING: some packages might use features from `10.12` if you do the above due to
1728
1728
buggy symbol availability checks. For example packages looking for `clock_gettime`
1729
1729
will see it as it will be a weak symbol, but the package might not have a codepath
1730
- to handle the weak symbol, in that case, you need to update the `MACOSX_DEPLOYMENT_TARGET `
1731
- as described below.
1730
+ to handle the weak symbol, in that case, you need to update the `c_stdlib_version `
1731
+ (previously `MACOSX_DEPLOYMENT_TARGET`) as described below.
1732
1732
1733
1733
After increasing the SDK version, if you are getting an error that says that a function
1734
1734
is available only for macOS x.x, then do the following in `recipe/conda_build_config.yaml`,
1735
1735
1736
1736
```yaml
1737
1737
# Please consult conda-forge/core before doing this
1738
- MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64]
1738
+ c_stdlib_version: # [osx and x86_64]
1739
1739
- "10.12" # [osx and x86_64]
1740
1740
MACOSX_SDK_VERSION: # [osx and x86_64]
1741
1741
- "10.12" # [osx and x86_64]
@@ -1745,13 +1745,12 @@ In `recipe/meta.yaml`, add the following to ensure that the user's system is com
1745
1745
1746
1746
` ` ` yaml
1747
1747
requirements:
1748
- run :
1749
- - __osx >= {{ MACOSX_DEPLOYMENT_TARGET|default("10.9 ") }} # [osx and x86_64]
1748
+ build :
1749
+ - {{ stdlib("c ") }}
1750
1750
` ` `
1751
1751
1752
- Note that this requires `conda>=4.8`. If you want to support older conda versions
1753
- the requirement should be changed from `run` to `run_constrained`. Note that
1754
- ` conda<4.8` will ignore the condition if it's a `run_constrained` on `__osx`.
1752
+ Note that the run-export on `__osx` that's produced by the stdlib metapackages
1753
+ requires `conda>=4.8`.
1755
1754
1756
1755
<a id="newer-c-features-with-old-sdk"></a>
1757
1756
@@ -1874,10 +1873,20 @@ put the following in your build section.
1874
1873
requirements:
1875
1874
build:
1876
1875
- {{ compiler('c') }}
1877
- - sysroot_linux-64 2.17 # [linux64]
1876
+ - {{ stdlib('c') }}
1878
1877
` ` `
1879
1878
1880
- You also need to use a newer docker image by setting the following in the `conda-forge.yml`
1879
+ and add the following to `recipe/conda_build_config.yaml` :
1880
+
1881
+ ` ` ` yaml
1882
+ c_stdlib_version: # [linux]
1883
+ - "2.17" # [linux]
1884
+ ` ` `
1885
+
1886
+ This covers the headers/library present at build-time, and will also create
1887
+ a corresponding run-export on the `__glibc` virtual package.
1888
+
1889
+ You may also need to use a newer docker image by setting the following in the `conda-forge.yml`
1881
1890
of your recipe and rerendering.
1882
1891
1883
1892
` ` ` yaml
0 commit comments