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>
This commit is contained in:
parent
805b412bb6
commit
863f455cf9
1 changed files with 31 additions and 22 deletions
|
@ -5,7 +5,6 @@
|
|||
|
||||
import glob
|
||||
import subprocess
|
||||
from os import path
|
||||
|
||||
from spack import *
|
||||
|
||||
|
@ -38,35 +37,45 @@ def __init__(self, spec):
|
|||
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'))
|
||||
|
|
Loading…
Reference in a new issue