Skip to content

Commit

Permalink
ci(macos-14): use gcc12 on macos-14, workaround is_recursive symbol m…
Browse files Browse the repository at this point in the history
…issing (#1859)

With gcc 13.3+ (from brew) on ARM macs we get this

Undefined symbols for architecture arm64:
  "_is_recursive.16.0", referenced from:
      ___characterstringmodule_MOD_assign_to_charstring in libmf6core.a(Utilities_CharString.f90.o)
ld: symbol(s) not found for architecture arm64
collect2: error: ld returned 1 exit status

It reproduces locally. On inspection of the symbol table, _is_recursive.16.0 has type "U" (undefined) while there are several others with the same name and different index _is_recursive.N which have type "b" (local bss section symbol). Seems like a GCC bug? Maybe worth building from source and digging deeper, but that is not trivial. Falling back to gcc 12 for now.
  • Loading branch information
wpbonelli authored Jun 7, 2024
1 parent b48ea7e commit 68d0560
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -216,11 +216,11 @@ jobs:
repository: MODFLOW-USGS/modflow6-examples
path: modflow6-examples

- name: Setup ${{ env.FC }} ${{ env.FC_V }}
- name: Setup ${{ env.FC }} ${{ contains(fromJSON('["macos-14"]'), matrix.os) && 12 || env.FC_V }}
uses: fortran-lang/setup-fortran@v1
with:
compiler: gcc
version: ${{ env.FC_V }}
version: ${{ contains(fromJSON('["macos-14"]'), matrix.os) && 12 || env.FC_V }}

- name: Setup pixi
uses: prefix-dev/[email protected]
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,13 @@ jobs:
bash
powershell
- name: Setup ${{ matrix.compiler }} ${{ matrix.version }}
- name: Setup ${{ matrix.compiler }} ${{ contains(fromJSON('["macos-14"]'), matrix.os) && 12 || matrix.version }}
if: (!(runner.os == 'Windows' && matrix.parallel))
id: setup-fortran
uses: fortran-lang/setup-fortran@v1
with:
compiler: ${{ matrix.compiler }}
version: ${{ matrix.version }}
version: ${{ contains(fromJSON('["macos-14"]'), matrix.os) && 12 || matrix.version }}

- name: Set version number
id: set_version
Expand Down

0 comments on commit 68d0560

Please sign in to comment.