From b499291447b85b654a7dd70367a8dc333bcf7624 Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Mon, 13 Apr 2026 13:30:14 -0700 Subject: [PATCH 1/2] install.sh: Add flang_rt to rpath for brew flang on Linux --- install.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index e830e0dc..83c6bdc0 100755 --- a/install.sh +++ b/install.sh @@ -53,6 +53,7 @@ GASNET_CONDUIT="${GASNET_CONDUIT:-smp}" GASNET_THREADMODE="${GASNET_THREADMODE:-seq}" YES=false APPEND_CFLAGS="" +APPEND_LDFLAGS="" list_prerequisites() { @@ -370,10 +371,16 @@ if [[ $FPM_FC == *flang* ]]; then fi FPM_CC="$($REALPATH $(command -v $CC))" -# workaround issue #228: clang cannot find Homebrew flang's C header if [ "${BREW_PREFIX:-unset}" != unset ] ; then + # fixups necessitated by using Brew flang: if [[ $FPM_FC =~ flang ]] && [[ $FPM_FC =~ $BREW_PREFIX ]] ; then + # workaround issue #228: clang cannot find Homebrew flang's C header APPEND_CFLAGS="-I$(dirname $(find "$BREW_PREFIX/Cellar/flang" -name ISO_Fortran_binding.h | head -1))" + + if [ $(uname) = "Linux" ]; then + # workaround brew's libflang_rt.runtime.so missing from default linker path on Linux + APPEND_LDFLAGS="-Wl,-rpath=$(dirname $(find "$BREW_PREFIX/Cellar/flang" -name libflang_rt.runtime.so | head -1))" + fi fi fi @@ -494,7 +501,7 @@ echo "${FPM_TOML_LINK_ENTRY}" >> $FPM_TOML CAFFEINE_PC="$PREFIX/lib/pkgconfig/caffeine.pc" cat << EOF > $CAFFEINE_PC -CAFFEINE_FPM_LDFLAGS=$GASNET_LDFLAGS $GASNET_LIB_LOCATIONS +CAFFEINE_FPM_LDFLAGS=$GASNET_LDFLAGS $GASNET_LIB_LOCATIONS $APPEND_LDFLAGS CAFFEINE_FPM_FC=$FPM_FC CAFFEINE_FPM_CC=$GASNET_CC CAFFEINE_FPM_CFLAGS=$GASNET_CFLAGS $GASNET_CPPFLAGS $APPEND_CFLAGS From ed84dd3f6bcb92c313a32cf0740a396191797ff1 Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Mon, 13 Apr 2026 14:37:14 -0700 Subject: [PATCH 2/2] CI: Add coverage for flang via Homebrew on Linux --- .github/workflows/build.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4cf724f3..dbbb814a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,6 +56,15 @@ jobs: native_multi_image: 1 FFLAGS: -fcoarray + - os: ubuntu-24.04 + compiler: flang + version: 22 + network: smp + label: Homebrew + brew_via_install: 1 + native_multi_image: 1 + FFLAGS: -fcoarray + # https://hub.docker.com/r/snowstep/llvm/tags - os: ubuntu-24.04 compiler: flang @@ -227,7 +236,7 @@ jobs: uses: actions/checkout@v1 - name: Install Ubuntu Native Dependencies - if: ${{ contains(matrix.os, 'ubuntu') && matrix.container == '' }} + if: ${{ contains(matrix.os, 'ubuntu') && matrix.container == '' && !matrix.brew_via_install }} run: | set -x sudo apt update