summaryrefslogtreecommitdiffstats
path: root/python/conda/libastra/meta.yaml
diff options
context:
space:
mode:
authorAllard Hendriksen <allard@allard-dell-xps-9560>2019-09-17 14:43:58 +0200
committerAllard Hendriksen <allard.hendriksen@cwi.nl>2019-09-20 14:45:39 +0200
commitd621b2ceed23f4ecc945b00ffd6e859b70b89b50 (patch)
treed326f7936b3dec5c0d61349047516a67127da7a6 /python/conda/libastra/meta.yaml
parent6e9fb3ec670863b62006288cd8bba5b773530a53 (diff)
downloadastra-d621b2ceed23f4ecc945b00ffd6e859b70b89b50.tar.gz
astra-d621b2ceed23f4ecc945b00ffd6e859b70b89b50.tar.bz2
astra-d621b2ceed23f4ecc945b00ffd6e859b70b89b50.tar.xz
astra-d621b2ceed23f4ecc945b00ffd6e859b70b89b50.zip
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.
Diffstat (limited to 'python/conda/libastra/meta.yaml')
-rw-r--r--python/conda/libastra/meta.yaml13
1 files changed, 7 insertions, 6 deletions
diff --git a/python/conda/libastra/meta.yaml b/python/conda/libastra/meta.yaml
index 59c3a09..407929b 100644
--- a/python/conda/libastra/meta.yaml
+++ b/python/conda/libastra/meta.yaml
@@ -8,21 +8,22 @@ source:
build:
number: 0
- script_env:
- - CC # [linux]
- - CXX # [linux]
+ string: cuda_{{ cudatoolkit }} # [linux]
requirements:
build:
- - {{compiler('c')}} # [win]
+ - {{ compiler('c') }} # [win or linux]
+ - {{ compiler('cxx') }} # [linux]
- boost # [osx]
- automake # [osx]
- autoconf # [osx]
- libtool # [osx]
+ host:
+ - boost # [osx or linux]
- cudatoolkit {{ cudatoolkit }} # [linux]
-
run:
- - cudatoolkit {{ cudatoolkit }} # [linux]
+ # See: https://github.com/conda-forge/conda-forge.github.io/issues/687#issuecomment-460095230
+ - {{ pin_compatible('cudatoolkit', max_pin='x.x') }} # [linux]
about:
home: http://www.astra-toolbox.com