diff --git a/.ci_support/osx_.yaml b/.ci_support/osx_.yaml index 04f6f0d..21f64f7 100644 --- a/.ci_support/osx_.yaml +++ b/.ci_support/osx_.yaml @@ -1,5 +1,3 @@ -CONDA_BUILD_SYSROOT: -- /opt/MacOSX10.10.sdk MACOSX_DEPLOYMENT_TARGET: - '10.9' c_compiler: diff --git a/recipe/build-mpich.sh b/recipe/build-mpi.sh similarity index 79% rename from recipe/build-mpich.sh rename to recipe/build-mpi.sh index cefc014..a3ba67f 100755 --- a/recipe/build-mpich.sh +++ b/recipe/build-mpi.sh @@ -4,24 +4,20 @@ # with a fatal deprecation message pointing to FC unset F90 F77 -# remove --as-needed, which causes problems for downstream builds, -# seen in failures in petsc, slepc, and hdf5 at least -export LDFLAGS="${LDFLAGS/-Wl,--as-needed/}" +export FCFLAGS="$FFLAGS" # avoid absolute-paths in compilers export CC=$(basename "$CC") export CXX=$(basename "$CXX") export FC=$(basename "$FC") -# from anaconda recipe, not sure if it matters -export FCFLAGS="$FFLAGS" - # avoid recording flags in compilers # See Compiler Flags section of MPICH readme -export MPICHLIB_CFLAGS=$CFLAGS -unset CFLAGS +# TODO: configure ignores MPICHLIB_LDFLAGS export MPICHLIB_CPPFLAGS=$CPPFLAGS unset CPPFLAGS +export MPICHLIB_CFLAGS=$CFLAGS +unset CFLAGS export MPICHLIB_CXXFLAGS=$CXXFLAGS unset CXXFLAGS export MPICHLIB_LDFLAGS=$LDFLAGS @@ -33,19 +29,20 @@ unset FCFLAGS # set some specific flags that we *do* want recorded in the compilers # only the bare minimum of prefix-awareness here -export CFLAGS="-I$PREFIX/include" export CPPFLAGS="-I$PREFIX/include" +export CFLAGS="-I$PREFIX/include" export CXXFLAGS="-I$PREFIX/include" export FFLAGS="-I$PREFIX/include" +export FCFLAGS="-I$PREFIX/include" export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib" export LIBRARY_PATH="$PREFIX/lib" ./configure --prefix=$PREFIX \ --disable-dependency-tracking \ - --disable-wrapper-rpath \ --enable-cxx \ - --enable-fortran + --enable-fortran \ + --disable-wrapper-rpath make -j"${CPU_COUNT:-1}" make install diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 24126aa..4dd1680 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -11,12 +11,12 @@ source: sha256: 5db53bf2edfaa2238eb6a0a5bc3d2c2ccbfbb1badd79b664a1a919d2ce2330f1 build: - number: 1012 - skip: True # [win] + number: 1013 + skip: True # [win] outputs: - name: mpich - script: build-mpich.sh + script: build-mpi.sh build: run_exports: - {{ pin_subpackage('mpich', max_pin='x.x') }} @@ -32,9 +32,8 @@ outputs: test: script: run_test.sh files: - - tests/test_exec.py - requires: - - python >=3 + - mpiexec.sh + - tests/helloworld.sh - name: mpich-mpicc build: @@ -51,6 +50,7 @@ outputs: test: script: run_test.sh files: + - mpiexec.sh - tests/helloworld.c - name: mpich-mpicxx @@ -68,6 +68,7 @@ outputs: test: script: run_test.sh files: + - mpiexec.sh - tests/helloworld.cxx - name: mpich-mpifort @@ -84,6 +85,7 @@ outputs: test: script: run_test.sh files: + - mpiexec.sh - tests/helloworld.f - tests/helloworld.f90 diff --git a/recipe/mpiexec.sh b/recipe/mpiexec.sh new file mode 100755 index 0000000..26aef3f --- /dev/null +++ b/recipe/mpiexec.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail +# pipe stdout, stderr through cat to avoid O_NONBLOCK issues +exec mpiexec "$@" 2>&1&1