From d646b905ce02ffd630955da96939efde09e77257 Mon Sep 17 00:00:00 2001 From: ZUO Zhihua Date: Sat, 10 Aug 2024 03:38:08 +0800 Subject: [PATCH] update gcc and fpm version for macos --- .github/workflows/fpm.yml | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/.github/workflows/fpm.yml b/.github/workflows/fpm.yml index bd41cec..42730f1 100644 --- a/.github/workflows/fpm.yml +++ b/.github/workflows/fpm.yml @@ -8,13 +8,13 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] - gcc_v: [12] # Version of GFortran we want to use. + os: [ubuntu-latest, macos-12] + gcc_v: [11] # Version of GFortran we want to use. include: - os: ubuntu-latest os-arch: linux-x86_64 - - os: macos-11 + - os: macos-12 os-arch: macos-x86_64 env: @@ -25,24 +25,35 @@ jobs: - name: Checkout code uses: actions/checkout@v1 - - name: Install GFortran macOS - if: contains(matrix.os, 'macos') - run: | - ln -s /usr/local/bin/gfortran-${GCC_V} /usr/local/bin/gfortran - which gfortran-${GCC_V} - which gfortran - - name: Install GFortran Linux if: contains(matrix.os, 'ubuntu') run: | sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_V} 100 \ --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${GCC_V} \ --slave /usr/bin/gcov gcov /usr/bin/gcov-${GCC_V} - + + # Backport gfortran shared libraries to version 9 folder. This is necessary because the macOS release of fpm + # 0.10.0 used for bootstrapping has these paths hardcoded in the executable. + # See https://github.com/fortran-lang/fpm/pull/1061 + - name: MacOS patch libgfortran + if: contains(matrix.os, 'macos') + run: | + ln -s /usr/local/bin/gfortran-${GCC_V} /usr/local/bin/gfortran + which gfortran-${GCC_V} + which gfortran + mkdir /usr/local/opt/gcc@10 + mkdir /usr/local/opt/gcc@10/lib + mkdir /usr/local/opt/gcc@10/lib/gcc + mkdir /usr/local/opt/gcc@10/lib/gcc/10 + mkdir /usr/local/lib/gcc/10 + ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libquadmath.0.dylib /usr/local/opt/gcc@10/lib/gcc/10/libquadmath.0.dylib + ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libgfortran.5.dylib /usr/local/opt/gcc@10/lib/gcc/10/libgfortran.5.dylib + ln -fs /usr/local/lib/gcc/${GCC_V}/libgcc_s.1.dylib /usr/local/lib/gcc/10/libgcc_s.1.dylib + - name: Install fpm - uses: fortran-lang/setup-fpm@v3 + uses: fortran-lang/setup-fpm@v5 with: - fpm-version: 'v0.8.2' + fpm-version: 'v0.9.0' - name: Build fftpack run: |