Skip to content

Commit

Permalink
ci: build Python 3.8 with MacOSX 10.15 SDK from older Xcode
Browse files Browse the repository at this point in the history
See the inline comment and indygreg/PyOxidizer#373
for more context. The goal of this change is to get rid of the reference to
__darwin_check_fd_set_overflow to restore working Python distributions
for PyOxidizer. This is far from a long-term solution as we need to
handle weak symbols more robustly for Python 3.9+. But it seems
appropriate for Python 3.8 builds, as the introduction of this symbol
was a "regression" when we transitioned to GitHub Actions and apparently
introduced the buggy SDK.
  • Loading branch information
indygreg committed Mar 6, 2021
1 parent 6b7fb36 commit 4bc01c5
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions .github/workflows/apple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,9 +183,18 @@ jobs:
- name: Build
run: |
# Force use of 10.15 SDK on Python 3.8, as it has trouble with macOS 11 SDK.
#
# There is a bug in the 10.15 SDK in Xcode 11.4.1 through at least 12.1.1 where
# the __darwin_check_fd_set_overflow symbol isn't properly API guarded. This
# can cause relinking problems. See
# https://github.com/indygreg/PyOxidizer/issues/373#issuecomment-791979944 for
# the details.
#
# We work around this by using the 10.15 SDK from Xcode 13.3.1, which doesn't
# have the bug.
if [ "${{ matrix.py }}" = "cpython-3.8" ]; then
export APPLE_SDK_PATH=/Applications/Xcode_12.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
export APPLE_HOST_SDK_PATH=/Applications/Xcode_12.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
export APPLE_SDK_PATH=/Applications/Xcode_13.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
export APPLE_HOST_SDK_PATH=/Applications/Xcode_11.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
else
export APPLE_HOST_SDK_PATH=/Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk
Expand Down

0 comments on commit 4bc01c5

Please sign in to comment.