From d9b945f663d815273590e21e1f4caed61fc11453 Mon Sep 17 00:00:00 2001 From: Rui Xue Date: Wed, 2 Sep 2020 02:15:39 -0500 Subject: Mac OS: support Python >= 3.8 by using fork-based multiprocessing (#18124) As detailed in https://bugs.python.org/issue33725, starting new processes with 'fork' on Mac OS is not guaranteed to work in general. As of Python 3.8 the default process spawning mechanism was changed to avoid this issue. Spack depends on the fork-based method to preserve file descriptors transparently, to preserve global state, and to avoid pickling some objects. An effort is underway to remove dependence on fork-based process spawning (see #18205). In the meantime, this allows Spack to run with Python 3.8 on Mac OS by explicitly choosing to use 'fork'. Co-authored-by: Peter Josef Scheibel Co-authored-by: Adam J. Stewart Co-authored-by: Todd Gamblin --- .github/workflows/macos_python.yml | 8 ++++---- .github/workflows/macos_unit_tests.yaml | 2 +- .github/workflows/style_and_docs.yaml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to '.github') diff --git a/.github/workflows/macos_python.yml b/.github/workflows/macos_python.yml index feb9dcef04..856d850cc8 100644 --- a/.github/workflows/macos_python.yml +++ b/.github/workflows/macos_python.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: spack install run: | . .github/workflows/install_spack.sh @@ -42,7 +42,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: spack install run: | . .github/workflows/install_spack.sh @@ -56,7 +56,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: spack install run: | . .github/workflows/install_spack.sh @@ -71,7 +71,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: spack install run: | . .github/workflows/install_spack.sh diff --git a/.github/workflows/macos_unit_tests.yaml b/.github/workflows/macos_unit_tests.yaml index 1e60f76918..24affa8327 100644 --- a/.github/workflows/macos_unit_tests.yaml +++ b/.github/workflows/macos_unit_tests.yaml @@ -18,7 +18,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: Install Python packages run: | pip install --upgrade pip six setuptools diff --git a/.github/workflows/style_and_docs.yaml b/.github/workflows/style_and_docs.yaml index 2277d5598f..84eb0efeab 100644 --- a/.github/workflows/style_and_docs.yaml +++ b/.github/workflows/style_and_docs.yaml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: 3.8 - name: Install Python Packages run: | pip install --upgrade pip -- cgit v1.2.3-60-g2f50