summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Willmore <frankwillmore@gmail.com>2021-02-03 14:04:23 -0600
committerTamara Dahlgren <dahlgren1@llnl.gov>2021-02-17 17:07:47 -0800
commit863f455cf9ce787d59cacb30583e78213b2aaa72 (patch)
treee9d7ad0acbf01ff9d8523e22f3d10e8ac7fb7cd9
parent805b412bb6968a9210ad265d73bfdeaa26a88356 (diff)
downloadspack-863f455cf9ce787d59cacb30583e78213b2aaa72.tar.gz
spack-863f455cf9ce787d59cacb30583e78213b2aaa72.tar.bz2
spack-863f455cf9ce787d59cacb30583e78213b2aaa72.tar.xz
spack-863f455cf9ce787d59cacb30583e78213b2aaa72.zip
intel-oneapi-compilers: add to LD_LIBRARY_PATH so that it finds libimf.so (#20717)
* add to LD_LIBRARY_PATH so that it finds libimf.so * amrex: fix handling of CUDA arch (#20786) * amrex: fix handling of CUDA arch * amrex: fix style * amrex: fix bug * Update var/spack/repos/builtin/packages/amrex/package.py * Update var/spack/repos/builtin/packages/amrex/package.py Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * ecp-data-vis-sdk: Combine the vis and io SDK packages (#20737) This better enables the collective set to be deployed togethor satisfying eachothers dependencies * r-sf: fix dependency error (#20898) * improve documentation for Rocm (hip amd builds) (#20812) * improve documentation * astyle: Fix makefile for install parameter (#20899) * llvm-doe: added new package (#20719) The package contains duplicated code from llvm/package.py, will supersede solve. * r-e1071: added v1.7-4 (#20891) * r-diffusionmap: added v1.2.0 (#20881) * r-covr: added v3.5.1 (#20868) * r-class: added v7.3-17 (#20856) * py-h5py: HDF5_DIR is needed for ~mpi too (#20905) For the `~mpi` variant, the environment variable `HDF5_DIR` is still required. I moved this command out of the `+mpi` conditional. * py-hovorod: fix typo on variant name in conflicts directive (#20906) * fujitsu-fftw: Add new package (#20824) * pocl: added v1.6 (#20932) Made version 1.5 or lower conflicts with a64fx. * PCL: add new package (#20933) * r-rle: new package (#20916) Common 'base' and 'stats' methods for 'rle' objects, aiming to make it possible to treat them transparently as vectors. * r-ellipsis: added v0.3.1 (#20913) * libconfig: add build dependency on texinfo (#20930) * r-flexmix: add v2.3-17 (#20924) * r-fitdistrplus: add v1.1-3 (#20923) * r-fit-models: add v0.64 (#20922) * r-fields: add v11.6 (#20921) * r-fftwtools: add v0.9-9 (#20920) * r-farver: add v2.0.3 (#20919) * r-expm: add v0.999-6 (#20918) * cln: add build dependency on texinfo (#20928) * r-expint: add v0.1-6 (#20917) * r-envstats: add v2.4.0 (#20915) * r-energy: add v1.7-7 (#20914) * r-ellipse: add v0.4.2 (#20912) * py-fiscalyear: add v0.3.0 (#20911) * r-ecp: add v3.1.3 (#20910) * r-plotmo: add v3.6.0 (#20909) * Improve gcc detection in llvm. (#20189) Co-authored-by: Tom Scogland <tom.scogland@gmail.com> Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk> * hatchet: updated urls (#20908) * py-anuga: add new package (#20782) * libvips: added v8.10.5 (#20902) * libzmq: add platform conditions to libbsd dependency (#20893) * r-dtw: add v1.22-3 (#20890) * r-dt: add v0.17 (#20889) * r-dosnow: add v1.0.19 (#20888) * add version 1.0.16 to r-doparallel (#20886) * add version 1.3.7 to r-domc (#20885) * add version 0.9-15 to r-diversitree (#20884) * add version 1.3-3 to r-dismo (#20883) * add version 0.6.27 to r-digest (#20882) * add version 1.5 to r-rngtools (#20887) * add version 1.5.8 to r-dicekriging (#20877) * add version 1.4.2 to r-httr (#20876) * add version 1.28 to r-desolve (#20875) * add version 2.2-5 to r-deoptim (#20874) * add version 0.2-3 to r-deldir (#20873) * add version 1.0.0 to r-crul (#20870) * add version 1.1.0.1 to r-crosstalk (#20869) * add version 1.0-1 to r-copula (#20867) * add version 5.0.2 to r-rcppparallel (#20866) * add version 2.0-1 to r-compositions (#20865) * add version 0.4.10 to r-rlang (#20796) * add version 0.3.6 to r-vctrs (#20878) * amrex: add ROCm support (#20809) * add version 2.0-0 to r-colorspace (#20864) * add version 1.3-1 to r-coin (#20863) * add version 0.19-4 to r-coda (#20862) * add version 1.3.7 to r-clustergeneration (#20861) * add version 0.3-58 to r-clue (#20860) * add version 0.7.1 to r-clipr (#20859) * add version 2.2.0 to r-cli (#20858) * add version 0.4-3 to r-classint (#20857) * add version 0.1.2 to r-globaloptions (#20855) * add version 2.3-56 to r-chron (#20854) * add version 0.4.10 to r-checkpoint (#20853) * add version 2.0.0 to r-checkmate (#20852) * add version 1.18.1 to r-catools (#20850) * add version 1.2.2.2 to r-modelmetrics (#20849) * add version 3.0-4 to r-cardata (#20847) * add version 1.0.1 to r-caracas (#20846) * r-lifecycle: new package at v0.2.0 (#20845) * add version 3.0-10 to r-car (#20844) * add version 3.4.5 to r-processx (#20843) * add version 1.5-12.2 to r-cairo (#20842) * add version 0.2.3 to r-cubist (#20841) * add version 2.6 to r-rmarkdown (#20838) * add version 1.2.1 to r-blob (#20819) * add version 4.0.4 to r-bit (#20818) * add version 2.4-1 to r-bio3d (#20816) * add version 0.4.2.3 to r-bibtex (#20815) * add version 3.1-4 to r-bayesm (#20807) * add version 1.2.1 to r-backports (#20806) * add version 2.0.3 to r-argparse (#20805) * add version 5.4-1 to r-ape (#20804) * add version 0.8-18 to r-amap (#20803) * r-pixmap: added new package (#20795) * zoltan: source code location change (#20787) * refactor path logic * added some paths to make compilers and libs discoverable * add to LD_LIBRARY_PATH so that it finds libimf.so and cleanup PEP8 * refactor path logic * adding paths to LIBRARY_PATH so compiler wrappers will find -lmpi * added vals for CC=icx, CXX=icpx, FC=ifx to generated module * back out changes to intel-oneapi-mpi, save for separate PR * Update var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py path is joined in _ld_library_path() Co-authored-by: Robert Cohn <rscohn2@gmail.com> * set absolute paths to icx,icpx,ifx * dang close parenthesis Co-authored-by: Robert Cohn <rscohn2@gmail.com> Co-authored-by: mic84 <mrosso@lbl.gov> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Chuck Atkins <chuck.atkins@kitware.com> Co-authored-by: darmac <xiaojun2@hisilicon.com> Co-authored-by: Danny Taller <66029857+dtaller@users.noreply.github.com> Co-authored-by: Tomoyasu Nojiri <68096132+t-nojiri@users.noreply.github.com> Co-authored-by: Shintaro Iwasaki <siwasaki@anl.gov> Co-authored-by: Glenn Johnson <glenn-johnson@uiowa.edu> Co-authored-by: Kelly (KT) Thompson <KineticTheory@users.noreply.github.com> Co-authored-by: Henrique Mendonça <henrique@users.noreply.github.com> Co-authored-by: h-denpo <57649496+h-denpo@users.noreply.github.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Thomas Green <tomgreen66@hotmail.com> Co-authored-by: Tom Scogland <tom.scogland@gmail.com> Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk> Co-authored-by: Abhinav Bhatele <bhatele@cs.umd.edu> Co-authored-by: a-saitoh-fj <63334055+a-saitoh-fj@users.noreply.github.com> Co-authored-by: QuellynSnead <quellyn@lanl.gov>
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py53
1 files changed, 31 insertions, 22 deletions
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py
index 3a120b36df..3ad097976f 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py
@@ -5,7 +5,6 @@
import glob
import subprocess
-from os import path
from spack import *
@@ -38,35 +37,45 @@ class IntelOneapiCompilers(IntelOneApiPackage):
url_name='HPCKit')
super(IntelOneapiCompilers, self).__init__(spec)
+ def _join_prefix(self, path):
+ return join_path(self.prefix, 'compiler', 'latest', 'linux', path)
+
+ def _ld_library_path(self):
+ dirs = ['lib',
+ 'lib/x64',
+ 'lib/emu',
+ 'lib/oclfpga/host/linux64/lib',
+ 'lib/oclfpga/linux64/lib',
+ 'compiler/lib/intel64_lin',
+ 'compiler/lib']
+ for dir in dirs:
+ yield self._join_prefix(dir)
+
def install(self, spec, prefix):
+ # For quick turnaround debugging, comment out line below and
+ # use the copy instead
super(IntelOneapiCompilers, self).install(spec, prefix)
- # For quick turnaround debugging, copy instead of install
- # copytree('/opt/intel/oneapi/compiler', path.join(prefix, 'compiler'),
- # symlinks=True)
- rpath_dirs = ['lib',
- 'lib/x64',
- 'lib/emu',
- 'lib/oclfpga/host/linux64/lib',
- 'lib/oclfpga/linux64/lib',
- 'compiler/lib/intel64_lin',
- 'compiler/lib']
+ # Copy installed compiler instead of running the installer
+ # from shutil import copytree
+ # copytree('/opt/intel/oneapi/compiler', join_path(prefix, 'compiler'),
+ # symlinks=True)
+
+ rpath = ':'.join(self._ld_library_path())
patch_dirs = ['compiler/lib/intel64_lin',
'compiler/lib/intel64',
'bin']
- eprefix = path.join(prefix, 'compiler', 'latest', 'linux')
- rpath = ':'.join([path.join(eprefix, c) for c in rpath_dirs])
for pd in patch_dirs:
- for file in glob.glob(path.join(eprefix, pd, '*')):
+ for file in glob.glob(self._join_prefix(join_path(pd, '*'))):
# Try to patch all files, patchelf will do nothing if
# file should not be patched
subprocess.call(['patchelf', '--set-rpath', rpath, file])
def setup_run_environment(self, env):
- env.prepend_path('PATH', join_path(self.prefix,
- 'compiler', 'latest', 'linux', 'bin'))
- env.prepend_path('CPATH', join_path(self.prefix,
- 'compiler', 'latest', 'linux', 'include'))
- env.prepend_path('LIBRARY_PATH', join_path(self.prefix,
- 'compiler', 'latest', 'linux', 'lib'))
- env.prepend_path('LD_LIBRARY_PATH', join_path(self.prefix,
- 'compiler', 'latest', 'linux', 'lib'))
+ env.prepend_path('PATH', self._join_prefix('bin'))
+ env.prepend_path('CPATH', self._join_prefix('include'))
+ env.prepend_path('LIBRARY_PATH', self._join_prefix('lib'))
+ for dir in self._ld_library_path():
+ env.prepend_path('LD_LIBRARY_PATH', dir)
+ env.set('CC', self._join_prefix('bin/icx'))
+ env.set('CXX', self._join_prefix('bin/icpx'))
+ env.set('FC', self._join_prefix('bin/ifx'))