diff --git a/.github/workflows/builds.yaml b/.github/workflows/builds.yaml index d02be34cef..4e9c1424ec 100644 --- a/.github/workflows/builds.yaml +++ b/.github/workflows/builds.yaml @@ -22,8 +22,16 @@ jobs: - name: Build OpenPMIx run: | cd openpmix/master + # Homebrew doesn't install Libevent's (or libev's) header or + # library files into a default search location. Shrug. So + # use pkg-config to get the location and explicitly pass it to + # configure. + libevent_cppflags=$(pkg-config libevent --cflags) + libevent_ldflags=$(pkg-config libevent --libs | perl -pe 's/^.*(-L[^ ]+).*$/\1/') ./autogen.pl - ./configure --prefix=$RUNNER_TEMP/pmixinstall + ./configure --prefix=$RUNNER_TEMP/pmixinstall \ + CPPFLAGS=$libevent_cppflags \ + LDFLAGS=$libevent_ldflags make -j make install - name: Git clone PRRTE @@ -37,6 +45,11 @@ jobs: sphinx= if test "${{ matrix.sphinx }}" = sphinx; then + # The macos Github Action environment gets angry at us if + # we try to pip install into the global environment. So + # make a virtual environment and install sphinx into that. + python -m venv venv + . ./venv/bin/activate pip3 install -r docs/requirements.txt sphinx=--enable-sphinx fi @@ -48,7 +61,16 @@ jobs: c=../configure fi - $c --prefix=$RUNNER_TEMP/prteinstall --with-pmix=$RUNNER_TEMP/pmixinstall $sphinx + # Homebrew doesn't install Libevent's (or libev's) header or + # library files into a default search location. Shrug. So + # use pkg-config to get the location and explicitly pass it to + # configure. + libevent_cppflags=$(pkg-config libevent --cflags) + libevent_ldflags=$(pkg-config libevent --libs | perl -pe 's/^.*(-L[^ ]+).*$/\1/') + + $c --prefix=$RUNNER_TEMP/prteinstall --with-pmix=$RUNNER_TEMP/pmixinstall $sphinx \ + CPPFLAGS=$libevent_cppflags \ + LDFLAGS=$libevent_ldflags make -j make install make uninstall