From d621b2ceed23f4ecc945b00ffd6e859b70b89b50 Mon Sep 17 00:00:00 2001 From: Allard Hendriksen Date: Tue, 17 Sep 2019 14:43:58 +0200 Subject: Use conda compiler toolchain for conda builds For both libastra and astra-toolbox: 1) We do not use script_env to set CC/CXX anymore, since the compilers are installed by conda. 2) The build string is made useful by including either the python+numpy version or the cudatoolkit version that the package was built with. 3) Some clean-up of build.sh in buildenv/ For libastra: 1) The libastra.so is built with the conda C/C++ compiler toolchain. This has two benefits: 1) The rpath of libastra.so is set to $ORIGIN, which makes linking easier for dependent packages. 2) libastra.so is linkable against ancient versions of glibc. With old versions of memcpy. 2) The C/C++ compiler version is fixed to 5.4.0 3) In libastra/build.sh, we rename $CONDA_PREFIX to $PREFIX. Apparently, this is how it is supposed to be done. For me, $CONDA_PREFIX was suddenly undefined. Why this was not a problem before, is unclear to me. 4) The cudatoolkit runtime dependency is pinned with pin_compatible 5) The libastra conda package now provides headers and .pc file. This is useful for building C++ packages that depend on astra. 6) Remove some old code related to cudatoolkit<8.0. For astra-toolbox: 1) astra-toolbox uses the conda-provided compilers 2) The compilers are fixed to version 7.3 3) Add boost to host requirements of astra-toolbox Notes on testing: - The libastra build has been tested with all versions of cudatoolkit - The astra-toolbox build has been tested with all provided versions of python after building a single cudatoolkit version of libastra. How to test this branch: - It should work by just editing `python/conda/linux_release/buildenv/build.sh`. Set BRANCH=CI-use-conda-c-compiler-toolchain URL=https://github.com/ahendriksen/astra-toolbox and run release.sh from the `python/conda/linux_release` directory. --- python/conda/astra-toolbox/conda_build_config_py27.yaml | 5 +++++ python/conda/astra-toolbox/conda_build_config_py35.yaml | 4 ++++ python/conda/astra-toolbox/conda_build_config_py36.yaml | 4 ++++ python/conda/astra-toolbox/conda_build_config_py37.yaml | 4 ++++ python/conda/astra-toolbox/meta.yaml | 8 +++++--- 5 files changed, 22 insertions(+), 3 deletions(-) (limited to 'python/conda/astra-toolbox') diff --git a/python/conda/astra-toolbox/conda_build_config_py27.yaml b/python/conda/astra-toolbox/conda_build_config_py27.yaml index f119b61..869d22e 100644 --- a/python/conda/astra-toolbox/conda_build_config_py27.yaml +++ b/python/conda/astra-toolbox/conda_build_config_py27.yaml @@ -8,3 +8,8 @@ numpy: - 1.14 - 1.15 - 1.16 + +c_compiler_version: + - 7.3 +cxx_compiler_version: + - 7.3 diff --git a/python/conda/astra-toolbox/conda_build_config_py35.yaml b/python/conda/astra-toolbox/conda_build_config_py35.yaml index 8dd963c..72d4cef 100644 --- a/python/conda/astra-toolbox/conda_build_config_py35.yaml +++ b/python/conda/astra-toolbox/conda_build_config_py35.yaml @@ -3,3 +3,7 @@ python: numpy: - 1.15 +c_compiler_version: + - 7.3 +cxx_compiler_version: + - 7.3 diff --git a/python/conda/astra-toolbox/conda_build_config_py36.yaml b/python/conda/astra-toolbox/conda_build_config_py36.yaml index f043435..996e22c 100644 --- a/python/conda/astra-toolbox/conda_build_config_py36.yaml +++ b/python/conda/astra-toolbox/conda_build_config_py36.yaml @@ -5,3 +5,7 @@ numpy: - 1.14 - 1.15 - 1.16 +c_compiler_version: + - 7.3 +cxx_compiler_version: + - 7.3 diff --git a/python/conda/astra-toolbox/conda_build_config_py37.yaml b/python/conda/astra-toolbox/conda_build_config_py37.yaml index ebbf44a..4282407 100644 --- a/python/conda/astra-toolbox/conda_build_config_py37.yaml +++ b/python/conda/astra-toolbox/conda_build_config_py37.yaml @@ -6,3 +6,7 @@ numpy: - 1.14 - 1.15 - 1.16 +c_compiler_version: + - 7.3 +cxx_compiler_version: + - 7.3 diff --git a/python/conda/astra-toolbox/meta.yaml b/python/conda/astra-toolbox/meta.yaml index 054751b..b3c036b 100644 --- a/python/conda/astra-toolbox/meta.yaml +++ b/python/conda/astra-toolbox/meta.yaml @@ -8,8 +8,7 @@ source: build: number: 0 - script_env: - - CC # [linux] + string: py_{{ python }}_numpy_{{ numpy }} test: imports: @@ -24,14 +23,17 @@ test: requirements: build: + - {{ compiler('c') }} # [win or linux] + - {{ compiler('cxx') }} # [linux] + host: - python - cython >=0.13 + - boost # [osx or linux] - nomkl # [not win] - numpy {{ numpy }} - scipy - six - libastra ==1.9.0.dev11 - run: - python - {{ pin_compatible('numpy', min_pin='x.x', max_pin='x.x') }} -- cgit v1.2.3