Skip to content

Commit

Permalink
Merge pull request #51 from regro-cf-autotick-bot/rebuild
Browse files Browse the repository at this point in the history
Rebuild for Python 3.7, GCC 7, R 3.5.1, openBLAS 0.3.2
  • Loading branch information
isuruf authored Oct 6, 2018
2 parents e2a8014 + f3b8a69 commit 1b6ca5a
Show file tree
Hide file tree
Showing 10 changed files with 186 additions and 20 deletions.
24 changes: 24 additions & 0 deletions .ci_support/linux_c_compilergccfortran_compilergfortran.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
build_number_decrement:
- '0'
c_compiler:
- gcc
channel_sources:
- conda-forge/label/gcc7,defaults
channel_targets:
- conda-forge gcc7
docker_image:
- conda/c3i-linux-64
fortran_compiler:
- gfortran
perl:
- '5.26'
pin_run_as_build:
perl:
max_pin: x.x.x
zip_keys:
- - c_compiler
- fortran_compiler
- channel_sources
- channel_targets
- docker_image
- build_number_decrement
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
build_number_decrement:
- '1000'
c_compiler:
- toolchain_c
channel_sources:
Expand All @@ -13,3 +15,10 @@ perl:
pin_run_as_build:
perl:
max_pin: x.x.x
zip_keys:
- - c_compiler
- fortran_compiler
- channel_sources
- channel_targets
- docker_image
- build_number_decrement
27 changes: 27 additions & 0 deletions .ci_support/osx_c_compilerclangfortran_compilergfortran.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
MACOSX_DEPLOYMENT_TARGET:
- '10.9'
build_number_decrement:
- '0'
c_compiler:
- clang
channel_sources:
- conda-forge/label/gcc7,defaults
channel_targets:
- conda-forge gcc7
fortran_compiler:
- gfortran
macos_machine:
- x86_64-apple-darwin13.4.0
macos_min_version:
- '10.9'
perl:
- '5.26'
pin_run_as_build:
perl:
max_pin: x.x.x
zip_keys:
- - c_compiler
- fortran_compiler
- channel_sources
- channel_targets
- build_number_decrement
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
MACOSX_DEPLOYMENT_TARGET:
- '10.9'
build_number_decrement:
- '1000'
c_compiler:
- toolchain_c
channel_sources:
Expand All @@ -17,3 +19,9 @@ perl:
pin_run_as_build:
perl:
max_pin: x.x.x
zip_keys:
- - c_compiler
- fortran_compiler
- channel_sources
- channel_targets
- build_number_decrement
47 changes: 41 additions & 6 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
version: 2

jobs:
build_linux_:
build_linux_c_compilergccfortran_compilergfortran:
working_directory: ~/test
machine: true
environment:
- CONFIG: "linux_"
- CONFIG: "linux_c_compilergccfortran_compilergfortran"
steps:
- checkout
- run:
Expand All @@ -18,12 +18,45 @@ jobs:
- run:
# Run, test and (if we have a BINSTAR_TOKEN) upload the distributions.
command: ./.circleci/run_docker_build.sh
build_osx_:
build_linux_c_compilertoolchain_cfortran_compilertoolchain_fort:
working_directory: ~/test
machine: true
environment:
- CONFIG: "linux_c_compilertoolchain_cfortran_compilertoolchain_fort"
steps:
- checkout
- run:
name: Fast finish outdated PRs and merge PRs
command: |
./.circleci/fast_finish_ci_pr_build.sh
./.circleci/checkout_merge_commit.sh
- run:
command: docker pull condaforge/linux-anvil
- run:
# Run, test and (if we have a BINSTAR_TOKEN) upload the distributions.
command: ./.circleci/run_docker_build.sh
build_osx_c_compilerclangfortran_compilergfortran:
working_directory: ~/test
macos:
xcode: "9.0"
environment:
- CONFIG: "osx_c_compilerclangfortran_compilergfortran"
steps:
- checkout
- run:
name: Fast finish outdated PRs and merge PRs
command: |
./.circleci/fast_finish_ci_pr_build.sh
./.circleci/checkout_merge_commit.sh
- run:
# Run, test and (if we have a BINSTAR_TOKEN) upload the distributions.
command: ./.circleci/run_osx_build.sh
build_osx_c_compilertoolchain_cfortran_compilertoolchain_fort:
working_directory: ~/test
macos:
xcode: "9.0"
environment:
- CONFIG: "osx_"
- CONFIG: "osx_c_compilertoolchain_cfortran_compilertoolchain_fort"
steps:
- checkout
- run:
Expand All @@ -39,5 +72,7 @@ workflows:
version: 2
build_and_test:
jobs:
- build_linux_
- build_osx_
- build_linux_c_compilergccfortran_compilergfortran
- build_linux_c_compilertoolchain_cfortran_compilertoolchain_fort
- build_osx_c_compilerclangfortran_compilergfortran
- build_osx_c_compilertoolchain_cfortran_compilertoolchain_fort
15 changes: 7 additions & 8 deletions conda-forge.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
travis:
secure:
BINSTAR_TOKEN: H3GgaVwc4/tgmlX4oNx6wrFlO84GmO5WnkSZrtfb2EsRUv26w52Gtr0zsMEv3fSJcheAzgBGlKcMoHNU9170LkKR20NmaxbVUzg6Cdhba4ylQhUIj9ClpMXcqCSc8bhnPY/+gLcxwlKuThUbybVMSEBfWoMp66IclFh+T5uY8uw10Ov601I0PF2qjly9DwY2nGT0kRGUM9lvr3WdWRBGYiC7oF2fFhH/zqTxBPuJnSJ5pz94NnsnfrITmdAUGlgp+Lgfpr/AKHhKv9J4xeDorc3qKG2+Xf7g/1eAH9W0jS8SxGOPTAPAQwzZezJep+Xr+vwVhnz/z8X5qNbQUUJaFHMXvPonEt4nOyeHloxiZrN8KjPb5ODyIsUdY6jCUxwZunx9qKOQeidwKPgbDhdCLYXSKL5H19PLvBQAK9ZK7h1YKlE4LEoODXhZ5qmnQkxfkGmhr4WYhiVsRSwrD3tyachIIrUKuzjNuBdq4i1gLiLPmnScPlj5xu4Lw+XNRPSdUewceC6Qr4w8dPCl5yPRAbVGegaxgxL4B1qZDG26XTDO/SL9ZNghuLH1AIZsFn4zrKsVRbdzTWoCAmmwsPLRUX5q0Z26yuJ9j0HFlM1Inl+Muxrl7m119LJCfq4irpF8jX/jd7dl9dd+Qizwp6rahXArxYOIHStze+iFgCyAppk=
appveyor:
secure:
BINSTAR_TOKEN: tumuXLL8PU75WMnRDemRy02ruEq2RpNxeK3dz0MjFssnosPm2v4EFjfNB4PTotA1

provider:
osx: circle
secure: {BINSTAR_TOKEN: tumuXLL8PU75WMnRDemRy02ruEq2RpNxeK3dz0MjFssnosPm2v4EFjfNB4PTotA1}
compiler_stack: comp7
max_py_ver: '37'
max_r_ver: '35'
provider: {osx: circle}
travis:
secure: {BINSTAR_TOKEN: H3GgaVwc4/tgmlX4oNx6wrFlO84GmO5WnkSZrtfb2EsRUv26w52Gtr0zsMEv3fSJcheAzgBGlKcMoHNU9170LkKR20NmaxbVUzg6Cdhba4ylQhUIj9ClpMXcqCSc8bhnPY/+gLcxwlKuThUbybVMSEBfWoMp66IclFh+T5uY8uw10Ov601I0PF2qjly9DwY2nGT0kRGUM9lvr3WdWRBGYiC7oF2fFhH/zqTxBPuJnSJ5pz94NnsnfrITmdAUGlgp+Lgfpr/AKHhKv9J4xeDorc3qKG2+Xf7g/1eAH9W0jS8SxGOPTAPAQwzZezJep+Xr+vwVhnz/z8X5qNbQUUJaFHMXvPonEt4nOyeHloxiZrN8KjPb5ODyIsUdY6jCUxwZunx9qKOQeidwKPgbDhdCLYXSKL5H19PLvBQAK9ZK7h1YKlE4LEoODXhZ5qmnQkxfkGmhr4WYhiVsRSwrD3tyachIIrUKuzjNuBdq4i1gLiLPmnScPlj5xu4Lw+XNRPSdUewceC6Qr4w8dPCl5yPRAbVGegaxgxL4B1qZDG26XTDO/SL9ZNghuLH1AIZsFn4zrKsVRbdzTWoCAmmwsPLRUX5q0Z26yuJ9j0HFlM1Inl+Muxrl7m119LJCfq4irpF8jX/jd7dl9dd+Qizwp6rahXArxYOIHStze+iFgCyAppk=}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
--- work/f_check.orig 2018-08-20 10:45:10.407409563 +0100
+++ work/f_check 2018-08-20 10:51:49.004860628 +0100
@@ -71,7 +71,8 @@

if ($data =~ /GNU/) {

- $data =~ /(\d)\.(\d).(\d)/;
+ $data2 = $& if $data=~/GCC.*\n/m;
+ $data2 =~ /(\d)\.(\d).(\d).$/;
$major = $1;
$minor = $2;

25 changes: 25 additions & 0 deletions recipe/0003-turn-TLS-off.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From e3d75f25ea2b920ef0e762796c97722b27735c94 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: Thu, 13 Sep 2018 20:56:44 +0000
Subject: [PATCH] turn TLS off

---
Makefile.rule | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.rule b/Makefile.rule
index 6457532..45ea6e5 100644
--- a/Makefile.rule
+++ b/Makefile.rule
@@ -113,7 +113,7 @@ USE_SIMPLE_THREADED_LEVEL3 = 1
# thread-local storage instead of a central memory buffer in memory.c
# Note that if your system uses GLIBC, it needs to have at least glibc 2.21
# for this to work.
-USE_TLS = 1
+# USE_TLS = 1

# If you want to drive whole 64bit region by BLAS. Not all Fortran
# compiler supports this. It's safe to keep comment it out if you
--
2.18.0

30 changes: 25 additions & 5 deletions recipe/build.sh
Original file line number Diff line number Diff line change
@@ -1,25 +1,45 @@
#!/bin/bash

# https://github.com/xianyi/OpenBLAS/wiki/faq#Linux_SEGFAULT
patch < segfaults.patch

# See this workaround
# ( https://github.com/xianyi/OpenBLAS/issues/818#issuecomment-207365134 ).
CF="${CFLAGS}"
unset CFLAGS

if [[ `uname` == 'Darwin' ]]; then
export LIBRARY_SEARCH_VAR=DYLD_FALLBACK_LIBRARY_PATH
USE_OPENMP="0"
else
export LIBRARY_SEARCH_VAR=LD_LIBRARY_PATH
# Gnu OpenMP is not fork-safe. We disable openmp right now, so that downstream packages don't hang as a result of this.
# USE_OPENMP="1"
USE_OPENMP="0"
fi

if [ ! -z "$FFLAGS" ]; then
export FFLAGS="${FFLAGS/-fopenmp/ }";
fi
eval export ${LIBRARY_SEARCH_VAR}="${PREFIX}/lib"

# Because -Wno-missing-include-dirs does not work with gfortran:
[[ -d "${PREFIX}"/include ]] || mkdir "${PREFIX}"/include
[[ -d "${PREFIX}"/lib ]] || mkdir "${PREFIX}"/lib

# USE_SIMPLE_THREADED_LEVEL3 is necessary to avoid hangs when more than one process uses blas:
# https://github.com/xianyi/OpenBLAS/issues/1456
# https://github.com/xianyi/OpenBLAS/issues/294
# https://github.com/scikit-learn/scikit-learn/issues/636


# Build all CPU targets and allow dynamic configuration
# Build LAPACK.
# Enable threading. This can be controlled to a certain number by
# setting OPENBLAS_NUM_THREADS before loading the library.
make DYNAMIC_ARCH=1 BINARY=${ARCH} NO_LAPACK=0 NO_AFFINITY=1 USE_THREAD=1 NUM_THREADS=128 CFLAGS="${CF}" FFLAGS="-frecursive"
OPENBLAS_NUM_THREADS=$CPU_COUNT make test
make DYNAMIC_ARCH=1 BINARY=${ARCH} NO_LAPACK=0 NO_AFFINITY=1 USE_THREAD=1 NUM_THREADS=128 \
USE_OPENMP="${USE_OPENMP}" USE_SIMPLE_THREADED_LEVEL3=1 CFLAGS="${CF}" FFLAGS="${FFLAGS} -frecursive"
OPENBLAS_NUM_THREADS="${CPU_COUNT}" CFLAGS="${CF}" FFLAGS="${FFLAGS} -frecursive" make test
make install PREFIX="${PREFIX}"


# As OpenBLAS, now will have all symbols that BLAS, CBLAS or LAPACK have,
# create libraries with the standard names that are linked back to
# OpenBLAS. This will make it easier for packages that are looking for them.
Expand Down
9 changes: 8 additions & 1 deletion recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,16 @@ source:
fn: openblas-{{ version }}.tar.gz
url: https://github.com/xianyi/OpenBLAS/archive/v{{ version }}.tar.gz
sha256: 49d88f4494ae780e3d7fa51769c00d982d7cdb73e696054ac3baa81d42f13bab
patches:
- 0002-Fix-gfortran-detection-for-ctng-based-cross-compilers.patch # [c_compiler == 'gcc']
# new in 0.3 series
# requires glibc >=2.21; disable for the foreseeable future.
# https://github.com/xianyi/OpenBLAS/blob/dbfd7524cd94fe15930ed2f78b7789f15b22fec0/Makefile.rule#L112-L116
# Also, see # https://github.com/xianyi/OpenBLAS/issues/1761
- 0003-turn-TLS-off.patch

build:
number: 0
number: 1001
skip: true # [win and vc!=14]

requirements:
Expand Down

0 comments on commit 1b6ca5a

Please sign in to comment.