diff options
author | Allard Hendriksen <allard@allard-dell-xps-9560> | 2019-09-17 14:43:58 +0200 |
---|---|---|
committer | Allard Hendriksen <allard.hendriksen@cwi.nl> | 2019-09-20 14:45:39 +0200 |
commit | d621b2ceed23f4ecc945b00ffd6e859b70b89b50 (patch) | |
tree | d326f7936b3dec5c0d61349047516a67127da7a6 /python/conda/libastra/meta.yaml | |
parent | 6e9fb3ec670863b62006288cd8bba5b773530a53 (diff) | |
download | astra-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.yaml | 13 |
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 |