Order or package installation in spack.yaml

73 views
Skip to first unread message

Prentice Bisbal

unread,
Nov 6, 2023, 5:57:52 PM11/6/23
to sp...@googlegroups.com
I'm learning Spack, and I created an environment with the following
spack.yaml file:


spack:
  definitions:
  - compilers: ['ao...@4.1.0', 'g...@13.2.0', 'one...@2023.2.0']
  - mpis: ['openmpi fabrics=ucx schedulers=slurm +pmi']
  - packages: ['hpl +openmp', 'ior']

  specs:
  - ao...@4.1.0%g...@11.3.1
  - g...@13.2.0%g...@11.3.1
  - intel-oneap...@2023.2.1%g...@11.3.1
  - matrix:
    - ['amdblis', 'amdlibflame']
    - [$%compilers]
  - matrix:
    - [$mpis]
    - [$%compilers]
  - matrix:
    - [$packages]
    - [$^mpis]
    - [$%compilers]

  concretizer:
    unify: false

  packages:
    blas:
      require: amdblis
    lapack:
      require: amdlibflame

  view: false

I then do 'spack concretize -f" followed by "spack install" (environment
is already activated)

I thought concretizing the environment, spack would figure out that the
compilers needed to be installed first, and those compilers would then
be available to compile everything else, but that isn't what's
happening. Instead, the install fails with complaints that the compilers
have executables that are missing or are not executable:

==> Error: amdblis-4.1-jrnjmsg2wqa7vhxxtrtipigdppgqt5my:
CompilerAccessError: Compiler 'aocc@=4.1.0' has executables that are
missing or
 are not executable:
['/usr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1/aocc-4.1.0-xmrbahnvl3t5npvggrcyal4myiv7upmn/bin/clang',
'/u
sr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1/aocc-4.1.0-xmrbahnvl3t5npvggrcyal4myiv7upmn/bin/clang++',
'/usr/lynx/spack/opt/spack
/linux-rhel9-zen2/gcc-11.3.1/aocc-4.1.0-xmrbahnvl3t5npvggrcyal4myiv7upmn/bin/flang',
'/usr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.
3.1/aocc-4.1.0-xmrbahnvl3t5npvggrcyal4myiv7upmn/bin/flang']
==> Error: amdblis-4.1-xlsewy6cgho4b2jl523g7u2y6pk3naeu:
CompilerAccessError: Compiler 'gcc@=13.2.0' has executables that are
missing or
 are not executable:
['/usr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1/gcc-13.2.0-w2zqmev2ez4wdmgqjpahsssqxevazghp/bin/gcc',
'/usr
/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1/gcc-13.2.0-w2zqmev2ez4wdmgqjpahsssqxevazghp/bin/g++',
'/usr/lynx/spack/opt/spack/linux
-rhel9-zen2/gcc-11.3.1/gcc-13.2.0-w2zqmev2ez4wdmgqjpahsssqxevazghp/bin/gfortran',
'/usr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1
/gcc-13.2.0-w2zqmev2ez4wdmgqjpahsssqxevazghp/bin/gfortran']
==> Error: amdblis-4.1-2fmw6rwx7aizleyvb3fceklpmejh5zqf:
CompilerAccessError: Compiler 'oneapi@=2023.2.0' has executables that
are missi
ng or are not executable:
['/usr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1/intel-oneapi-compilers-2023.2.1-3rohvwgc5qcm2xyppfqf6m
buoiitbmx3/compiler/2023.2.1/linux/bin/icx',
'/usr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1/intel-oneapi-compilers-2023.2.1-3roh
vwgc5qcm2xyppfqf6mbuoiitbmx3/compiler/2023.2.1/linux/bin/icpx',
'/usr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1/intel-oneapi-comp
ilers-2023.2.1-3rohvwgc5qcm2xyppfqf6mbuoiitbmx3/compiler/2023.2.1/linux/bin/ifx',
'/usr/lynx/spack/opt/spack/linux-rhel9-zen2/gcc-11.3.1
/intel-oneapi-compilers-2023.2.1-3rohvwgc5qcm2xyppfqf6mbuoiitbmx3/compiler/2023.2.1/linux/bin/ifx']


I found that if I install the compilers first, and then do everything
else, it works.

What am I doing wrong here? Do I need to do something like 'spack
compiler find' in the environment? Do I need to install the compilers
manually before running "spack install"

--
Prentice

Reply all
Reply to author
Forward
0 new messages