Repository: spack/spack

Issue:
phist@1.9.5 %oneapi build fails: kernels.F90(63): error #8284: If the actual argument is scalar, the dummy argument shall be scalar...
### Steps to reproduce the issue

Reproducible using:
* `spack@develop` (`08e75f7a3e02ef` from `Fri Aug 12 00:20:47 2022 -0700`)
* `ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2022-07-01`
* `%oneapi@2022.1.0`

Concrete spec: [phist.spec.json.txt](https://github.com/spack/spack/files/9330336/phist.spec.json.txt)

Concretization:
```
==> Concretized phist
 -   y3l2bdg  phist@1.9.5%oneapi@2022.1.0+fortran+host+int64~ipo+mpi+openmp~parmetis+scamac+shared~trilinos build_type=RelWithDebInfo kernel_lib=builtin outlev=2 patches=1fc9ac6 arch=linux-ubuntu20.04-x86_64
[+]  vrfndhv      ^cmake@3.23.3%oneapi@2022.1.0~doc+ncurses+ownlibs~qt build_type=Release arch=linux-ubuntu20.04-x86_64
[+]  gvjgisz          ^ncurses@6.2%oneapi@2022.1.0~symlinks+termlib abi=none arch=linux-ubuntu20.04-x86_64
[+]  euvcz47              ^pkgconf@1.8.0%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  4455rwb          ^openssl@1.1.1q%oneapi@2022.1.0~docs~shared certs=mozilla patches=3fdcf2d arch=linux-ubuntu20.04-x86_64
[+]  tlqunsr              ^ca-certificates-mozilla@2022-07-19%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  g75tej4              ^perl@5.34.1%oneapi@2022.1.0+cpanm+shared+threads arch=linux-ubuntu20.04-x86_64
[+]  ahtnphg                  ^berkeley-db@18.1.40%oneapi@2022.1.0+cxx~docs+stl patches=b231fcc arch=linux-ubuntu20.04-x86_64
[+]  44yzgyw                  ^bzip2@1.0.8%oneapi@2022.1.0~debug~pic+shared arch=linux-ubuntu20.04-x86_64
[+]  uli7ace                      ^diffutils@3.8%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  sohfg2f                          ^libiconv@1.16%oneapi@2022.1.0 libs=shared,static arch=linux-ubuntu20.04-x86_64
[+]  mnowgf4                  ^gdbm@1.19%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  cd2lgld                      ^readline@8.1.2%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  5jz7ihy                  ^zlib@1.2.12%oneapi@2022.1.0+optimize+pic+shared patches=0d38234 arch=linux-ubuntu20.04-x86_64
[+]  cflgwhp      ^mpich@4.0.2%oneapi@2022.1.0~argobots~cuda+fortran+hwloc+hydra+libxml2+pci~rocm+romio~slurm~two_level_namespace~vci~verbs~wrapperrpath datatype-engine=auto device=ch4 netmod=ofi patches=b4c706e pmi=pmi arch=linux-ubuntu20.04-x86_64
[+]  rltl5ed          ^findutils@4.9.0%oneapi@2022.1.0 patches=440b954 arch=linux-ubuntu20.04-x86_64
[+]  7drxrmz          ^hwloc@2.8.0%oneapi@2022.1.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm+shared arch=linux-ubuntu20.04-x86_64
[+]  ky5qiaz              ^libpciaccess@0.16%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  5n46ly5                  ^libtool@2.4.7%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  agucw5d                      ^m4@1.4.19%oneapi@2022.1.0+sigsegv patches=9dc5fbd,bfdffa7 arch=linux-ubuntu20.04-x86_64
[+]  q56bku4                          ^libsigsegv@2.13%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  iwdrk44                  ^util-macros@1.19.3%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  go3fobe              ^libxml2@2.9.13%oneapi@2022.1.0~python arch=linux-ubuntu20.04-x86_64
[+]  ppl5hwa                  ^xz@5.2.5%oneapi@2022.1.0+pic libs=shared,static arch=linux-ubuntu20.04-x86_64
[+]  mpntixm          ^libfabric@1.14.1%oneapi@2022.1.0~debug~kdreg fabrics=rxm,sockets,tcp,udp arch=linux-ubuntu20.04-x86_64
[+]  dcm6vaw          ^yaksa@0.2%oneapi@2022.1.0~cuda~rocm arch=linux-ubuntu20.04-x86_64
[+]  tuc6vdd              ^autoconf@2.69%oneapi@2022.1.0 patches=35c4492,7793209,a49dd5b arch=linux-ubuntu20.04-x86_64
[+]  zl3oyek              ^automake@1.16.5%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  cg23twc              ^python@3.8.13%oneapi@2022.1.0+bz2+ctypes+dbm~debug+ensurepip+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93,4c24573,f2fd060 arch=linux-ubuntu20.04-x86_64
[+]  ijry5ro                  ^expat@2.4.8%oneapi@2022.1.0+libbsd arch=linux-ubuntu20.04-x86_64
[+]  flwxuwx                      ^libbsd@0.11.5%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  uxmtkav                          ^libmd@1.0.4%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  sf4jy5o                  ^gettext@0.21%oneapi@2022.1.0+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-ubuntu20.04-x86_64
[+]  tjngmek                      ^tar@1.34%oneapi@2022.1.0 zip=pigz arch=linux-ubuntu20.04-x86_64
[+]  fisjzhz                          ^pigz@2.7%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  rg3ig4l                          ^zstd@1.5.2%oneapi@2022.1.0+programs compression=none libs=shared,static arch=linux-ubuntu20.04-x86_64
[+]  maq3kzw                  ^libffi@3.4.2%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  7edvlef                  ^sqlite@3.38.5%oneapi@2022.1.0+column_metadata+dynamic_extensions+fts~functions+rtree arch=linux-ubuntu20.04-x86_64
[+]  k3c4qk3                  ^util-linux-uuid@2.37.4%oneapi@2022.1.0 arch=linux-ubuntu20.04-x86_64
[+]  foxa7te      ^openblas@0.3.20%oneapi@2022.1.0~bignuma~consistent_fpcsr~ilp64+locking+pic+shared patches=41b0a3b symbol_suffix=none threads=openmp arch=linux-ubuntu20.04-x86_64
```

Install error:
```
==> Installing phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq
==> No binary for phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/24/24faa3373003f185c82a658c510e36cba9acc4110eb60cbfded9de370ae9ea32.tar.gz
==> Applied patch /spack/var/spack/repos/builtin/packages/phist/sbang.patch
==> Ran patch() for phist
==> phist: Executing phase: 'cmake'
==> phist: Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j16'

7 errors found in build log:
     165     [  7%] Building C object drivers/matfuncs/scamac/CMakeFiles/scamac.dir/scamac_rng.c.o
     166     cd /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/drivers/matfuncs/scamac && /spack/opt/spack/linux
             -ubuntu20.04-x86_64/oneapi-2022.1.0/mpich-4.0.2-cflgwhpy55pyz2ii3ayp54rxbst3pxwj/bin/mpicc -Dscamac_EXPORTS -I/spack/opt/spack/linux-ubuntu20.04-x86_64
             /oneapi-2022.1.0/openblas-0.3.20-foxa7tedxoykown2f7gicrlezfkibkmr/include -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hl
             lxq/spack-src/drivers/matfuncs -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/drivers/matfuncs/scamac -I/tm
             p/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/drivers/matfuncs/scamac -march=native       -fiopenmp
             -O2 -g -DNDEBUG -fPIC -std=gnu99 -MD -MT drivers/matfuncs/scamac/CMakeFiles/scamac.dir/scamac_rng.c.o -MF CMakeFiles/scamac.dir/scamac_rng.c.o.d -o CMa
             keFiles/scamac.dir/scamac_rng.c.o -c /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/drivers/matfuncs/scamac/s
             camac_rng.c
     167     [  7%] Building C object drivers/matfuncs/scamac/CMakeFiles/scamac.dir/scamac_safeint.c.o
     168     cd /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/drivers/matfuncs/scamac && /spack/opt/spack/linux
             -ubuntu20.04-x86_64/oneapi-2022.1.0/mpich-4.0.2-cflgwhpy55pyz2ii3ayp54rxbst3pxwj/bin/mpicc -Dscamac_EXPORTS -I/spack/opt/spack/linux-ubuntu20.04-x86_64
             /oneapi-2022.1.0/openblas-0.3.20-foxa7tedxoykown2f7gicrlezfkibkmr/include -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hl
             lxq/spack-src/drivers/matfuncs -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/drivers/matfuncs/scamac -I/tm
             p/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/drivers/matfuncs/scamac -march=native       -fiopenmp
             -O2 -g -DNDEBUG -fPIC -std=gnu99 -MD -MT drivers/matfuncs/scamac/CMakeFiles/scamac.dir/scamac_safeint.c.o -MF CMakeFiles/scamac.dir/scamac_safeint.c.o.
             d -o CMakeFiles/scamac.dir/scamac_safeint.c.o -c /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/drivers/matfu
             ncs/scamac/scamac_safeint.c
     169     [  8%] Generating kernels_z/kernels_z-2.CFWRAPPER_SKIP.h
     170     cd /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/fortran_bindings && gcc -I/tmp/root/spack-stage/s
             pack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/kernels/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2
             bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/kernels/builtin/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbd
             k5u4hllxq/spack-src/fortran_bindings/../src/tools/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_b
             indings/../src/precon/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/jada/ -I/tmp/
             root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/krylov/ -I/tmp/root/spack-stage/spack-stage
             -phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/core/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbr
             ic2vbdk5u4hllxq/spack-src/fortran_bindings/../drivers/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l
             2bdg/fortran_bindings/../ -E kernels_z/kernels_z-1.CFWRAPPER_SKIP.h > kernels_z/kernels_z-2.CFWRAPPER_SKIP.h
  >> 171     /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/cxx_bindings/make_cxx_bindings.py:106: DeprecationWa
             rning: 'U' mode is deprecated
     172       whole_file = open(mod_dir + "/" + c_file_name, 'rU').read()
     173     [  8%] Generating krylov_c/krylov_c-2.CFWRAPPER_SKIP.h
     174     cd /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/fortran_bindings && gcc -I/tmp/root/spack-stage/s
             pack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/kernels/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2
             bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/kernels/builtin/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbd
             k5u4hllxq/spack-src/fortran_bindings/../src/tools/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_b
             indings/../src/precon/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/jada/ -I/tmp/
             root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/krylov/ -I/tmp/root/spack-stage/spack-stage
             -phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/../src/core/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbr
             ic2vbdk5u4hllxq/spack-src/fortran_bindings/../drivers/ -I/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l
             2bdg/fortran_bindings/../ -E krylov_c/krylov_c-1.CFWRAPPER_SKIP.h > krylov_c/krylov_c-2.CFWRAPPER_SKIP.h
     175     clangclang: : warning: warning: overriding '-march=x86-64' option with '-march=native' [-Woverriding-t-option]
     176     overriding '-march=x86-64' option with '-march=native' [-Woverriding-t-option]
     177     clangclang: : warning: warning: overriding '-march=x86-64' option with '-march=native' [-Woverriding-t-option]overriding '-march=x86-64' option with '-
             march=native' [-Woverriding-t-option]

     ...

     344     2 warnings generated.
     345     make[2]: Leaving directory '/tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg'
     346     [ 22%] Built target scamactools
     347     [ 22%] Linking C shared library libscamac.so
     348     cd /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/drivers/matfuncs/scamac && /spack/opt/spack/linux
             -ubuntu20.04-x86_64/oneapi-2022.1.0/cmake-3.23.3-vrfndhvjalge3ikg4sd4rp62r6nqoum3/bin/cmake -E cmake_link_script CMakeFiles/scamac.dir/link.txt --verbo
             se=1
     349     /spack/opt/spack/linux-ubuntu20.04-x86_64/oneapi-2022.1.0/mpich-4.0.2-cflgwhpy55pyz2ii3ayp54rxbst3pxwj/bin/mpicc -fPIC  -march=native       -fiopenmp
             -O2 -g -DNDEBUG -shared -Wl,-soname,libscamac.so -o libscamac.so CMakeFiles/scamac.dir/scamac_aux.c.o CMakeFiles/scamac.dir/scamac_collection.c.o CMake
             Files/scamac.dir/scamac_generator.c.o CMakeFiles/scamac.dir/scamac_lut.c.o CMakeFiles/scamac.dir/scamac_multidx.c.o CMakeFiles/scamac.dir/scamac_rng.c.
             o CMakeFiles/scamac.dir/scamac_safeint.c.o CMakeFiles/scamac.dir/scamac_sparserow.c.o CMakeFiles/scamac.dir/scamac_string.c.o CMakeFiles/scamac.dir/sca
             mac_dof_fermions.c.o CMakeFiles/scamac.dir/scamac_dof_bosons.c.o CMakeFiles/scamac.dir/scamac_dof_spins.c.o CMakeFiles/scamac.dir/scamac_matrix_FreeFer
             mionChain.c.o CMakeFiles/scamac.dir/scamac_matrix_SpinChainXXZ.c.o CMakeFiles/scamac.dir/scamac_matrix_Tridiagonal.c.o CMakeFiles/scamac.dir/scamac_mat
             rix_FreeBosonChain.c.o CMakeFiles/scamac.dir/scamac_matrix_TridiagonalComplex.c.o CMakeFiles/scamac.dir/scamac_matrix_Anderson.c.o CMakeFiles/scamac.di
             r/scamac_matrix_Hubbard.c.o CMakeFiles/scamac.dir/scamac_matrix_Harmonic.c.o CMakeFiles/scamac.dir/scamac_matrix_TridiagonalReal.c.o CMakeFiles/scamac.
             dir/scamac_matrix_Exciton.c.o CMakeFiles/scamac.dir/scamac_wrapper_OneFermion.c.o  -Wl,-rpath,/spack/opt/spack/linux-ubuntu20.04-x86_64/oneapi-2022.1.0
             /openblas-0.3.20-foxa7tedxoykown2f7gicrlezfkibkmr/lib::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
             ::::::::: /spack/opt/spack/linux-ubuntu20.04-x86_64/oneapi-2022.1.0/openblas-0.3.20-foxa7tedxoykown2f7gicrlezfkibkmr/lib/libopenblas.so -lm
  >> 350     ./cfwrapper.py:268: DeprecationWarning: 'U' mode is deprecated
     351       whole_file = open(directory[0] + "/" + c_file_name, 'rU',
  >> 352     ./cfwrapper.py:342: DeprecationWarning: 'U' mode is deprecated
     353       whole_file_original = open(directory[0] + "/" + c_file_name, 'rU',
     354
     355     Current directory: /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-build-y3l2bdg/fortran_bindings
     356
     357     Pass 1: looking for enumerators, funptr and derived types...
     358     Pass 2: looking for C functions...

     ...

     3946    lapack_complex_float lapack_make_complex_float( float re, float im );
     3947                         ^
     3948    /spack/opt/spack/linux-ubuntu20.04-x86_64/oneapi-2022.1.0/openblas-0.3.20-foxa7tedxoykown2f7gicrlezfkibkmr/include/lapacke.h:60:23: warning: 'lapack_ma
             ke_complex_double' has C-linkage specified, but returns user-defined type 'phist_d_complex' (aka 'complex<double>') which is incompatible with C [-Wret
             urn-type-c-linkage]
     3949    lapack_complex_double lapack_make_complex_double( double re, double im );
     3950                          ^
     3951    ifx: command line warning #10121: overriding '-march=x86-64' with '-march=native'
  >> 3952    /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/test/kernels.F90(63): error #8284: If the act
             ual argument is scalar, the dummy argument shall be scalar unless the actual argument is of type character or is an element of an array that is not ass
             umed shape, pointer, or polymorphic.   [ARGV]
     3953    call phist_kernels_init(argc,c_loc(argv), iflag)
     3954    -----^
     3955    compilation aborted for /tmp/root/spack-stage/spack-stage-phist-1.9.5-y3l2bdgcjhrpvjlbric2vbdk5u4hllxq/spack-src/fortran_bindings/test/kernels.F90 (cod
             e 1)
...
```

### Error message

<details><summary>Error message</summary><pre>
... see above
</pre></details>


### Information on your system

* **Spack:** 0.19.0.dev0 (d735c49b3217598e3a4432f6a6337916f57f730d)
* **Python:** 3.8.10
* **Platform:** linux-ubuntu20.04-cascadelake
* **Concretizer:** clingo

### Additional information

[spack-build-env.txt](https://github.com/spack/spack/files/9330334/spack-build-env.txt)
[spack-build-out.txt](https://github.com/spack/spack/files/9330339/spack-build-out.txt)

@jthies @wspear

### General information

- [X] I have run `spack debug report` and reported the version of Spack/Python/Platform
- [X] I have run `spack maintainers <name-of-the-package>` and **@mentioned** any maintainers
- [X] I have uploaded the build log and environment files
- [X] I have searched the issues of this repo and believe this is not a duplicate


Discussion:
Have you had a chance to look at this @jthies ?
Hi @eugeneswalker thanks for the reminder.
I looked at it now but couldn't resolve it quickly. Using the Intel OneAPI compilers (mpiicpc, mpiicc, mpiifort) I ran into another  minor issue that could be fixed easily, but here you seem to be using a compiler that identifies itself in CMake as "IntelLLVM". If I set CC=mpicc, CXX=mpicxx, FC=mpifort on my system, the underlying comiplers are GNU. So I'm not sure how to get the IntelLLVM variant? The error reported here in phist_kernels_init does not occur with my compiler picks (GNU/Intel). A quick workaround would be setting the variant ~fortran.
Hm, I compiled it manually now with "icx", "icpx", "ifx" and it worked fine. I have OneAPI version 2022.0.0

An issue I encounter when building phist %oneapi within spack is that "oneapi-mpi" sets the MPI compiler wrappers to "mpiicc", etc., which means that they will use icc, icpc and ifort rather than icx, icpx and ifx. This then leads to linker errors. I don't think this is a phist issue: we use this code to set the compilers to MPI wrappers:
```python
        if "+mpi" in spec:
            args.extend(
                [
                    define("CMAKE_C_COMPILER", spec["mpi"].mpicc),
                    define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx),
                    define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc),
                    define("MPI_HOME", spec["mpi"].prefix),
                ]
            )

```
So if oneapi provides the compilers as "icx" etc, this is overruled by the oneapi MPI provider as "mpiicc", etc, which are the Intel coompilers icc, etc, right?
> An issue I encounter when building phist %oneapi within spack is that "oneapi-mpi" sets the MPI compiler wrappers to "mpiicc", etc., which means that they will use icc, icpc and ifort rather than icx, icpx and ifx. This then leads to linker errors.

I see this error even building against `mpich`:

Here using:
* spack@develop (52e538e1d98a5cc5d90b04fa65ad086a9412af4d from `Mon Oct 3 04:13:52 2022 -0700`)
* Docker container image `ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2022-07-01`
* OneAPI 2022.1.0

<details><summary>spack.yaml</summary><pre>
spack:
  view: false

  concretizer:
    reuse: false
    unify: when_possible

  compilers:
  - compiler:
      spec: oneapi@2022.1.0
      paths:
        cc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/icx
        cxx: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/icpx
        f77: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/ifx
        fc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/ifx
      flags: {}
      operating_system: ubuntu20.04
      target: x86_64
      modules: [compiler]
      environment:
        prepend_path:
          LD_LIBRARY_PATH: /opt/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin
      extra_rpaths: []
  - compiler:
      spec: gcc@9.4.0
      paths:
        cc: /usr/bin/gcc
        cxx: /usr/bin/g++
        f77: /usr/bin/gfortran
        fc: /usr/bin/gfortran
      flags: {}
      operating_system: ubuntu20.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []

  packages:
    adios2:
      require: '%gcc'
    all:
      require: '%oneapi'
      providers:
        blas: [openblas]
        mpi: [mpich]
      target: [x86_64]
      variants: +mpi
    binutils:
      require: '%gcc'
      variants: +ld +gold +headers +libiberty ~nls
    cuda:
      version: [11.4.2]
    elfutils:
      variants: +bzip2 ~nls +xz
    hdf5:
      variants: +fortran +hl +shared
    libfabric:
      variants: fabrics=sockets,tcp,udp,rxm
    libunwind:
      variants: +pic +xz
    llvm:
      require: '%gcc'
    mpich:
      variants: ~wrapperrpath
    ncurses:
      variants: +termlib
    openblas:
      variants: threads=openmp
    python:
      version: [3.8.13]
    ruby:
      require: '%gcc'
    rust:
      require: '%gcc'
    trilinos:
      variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext
        +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
        +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos
        +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
    vtk-m:
      require: ~openmp
    xz:
      variants: +pic
    mesa:
      version: [21.3.8]

  specs:
  - phist@1.9.5

</pre></details>

Concretization:
```
==> Concretized phist@1.9.5
 -   unu4zu7  phist@1.9.5%oneapi@2022.1.0+fortran+host+int64~ipo+mpi+openmp~parmetis+scamac+shared~trilinos build_type=RelWithDebInfo kernel_lib=builtin outlev=2 patches=1fc9ac6 arch=linux-ubuntu20.04-x86_64
...
[+]  defn3zk      ^cmake@3.24.2%oneapi@2022.1.0~doc+ncurses+ownlibs~qt build_type=Release arch=linux-ubuntu20.04-
...
[+]  pmi3mon      ^mpich@4.0.2%oneapi@2022.1.0~argobots~cuda+fortran+hwloc+hydra+libxml2+pci~rocm+romio~slurm~two_level_namespace~vci~verbs~wrapperrpath datatype-engine=auto device=ch4 netmod=ofi patches=b4c706e,d4c0e99 pmi=pmi arch=linux-ubuntu20.04-x86_64
...
```

What do you think?


Resolving patch:
diff --git a/var/spack/repos/builtin/packages/phist/package.py b/var/spack/repos/builtin/packages/phist/package.py
--- a/var/spack/repos/builtin/packages/phist/package.py
+++ b/var/spack/repos/builtin/packages/phist/package.py
@@ -145,6 +145,7 @@ class Phist(CMakePackage):
     patch("ppc64_sse.patch", when="@1.9.4")
     patch("update_tpetra_gotypes.patch", when="@1.6:1.8")
     patch("sbang.patch", when="+fortran")
+    patch("fortran-fixes-pre-1.11.patch", when="+fortran @1.7.0:1.10.0")
 
     # ###################### Dependencies ##########################
 
@@ -192,7 +193,7 @@ class Phist(CMakePackage):
     # the phist repo came with it's own FindMPI.cmake before, which may cause some other
     # MPI installation to be used than the one spack wants.
     def patch(self):
-        if self.spec.satisfies("@1.9.6:"):
+        if self.spec.satisfies("@1.9.6:1.10.0"):
             filter_file("USE mpi", "use mpi_f08", "src/kernels/builtin/crsmat_module.F90")
             # filter_file('use mpi', 'use mpi_f08', -> Needs more fixes
             #            'fortran_bindings/phist_testing.F90')


Test patch: