spack icon indicating copy to clipboard operation
spack copied to clipboard

Spack spec provider character (`^`) is escape in CMD

Open johnwparent opened this issue 1 year ago • 1 comments

This is not an issue Spack can resolve, CMD parses the command line before Spack receives it, and the CMD is responsible for butchering the spec input. This is intended to track the issue for future users who may encounter such a problem and provide some guidance on how to work around it.

Spack spec syntax parsing works as expected on Powershell, this is a CMD only issue.

Steps to reproduce

On the Windows platform in a Spack shell

[spack] C:\spack_win\spack> spack spec exodusii ^intel-oneapi-mpi
Input spec
--------------------------------
 -   exodusii

Concretized
--------------------------------
 -   exodusii@2021-04-05%[email protected]~fortran~ipo+mpi build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[e]      ^[email protected]%[email protected]~doc~ncurses+ownlibs build_system=generic build_type=Release arch=windows-windows10.0.22621-AMD64
[e]      ^[email protected]%[email protected] build_system=generic patches=8bd2593 arch=windows-windows10.0.22621-AMD64
[+]      ^[email protected]%[email protected]+blosc~byterange~dap~fsync~hdf4~ipo~jna+mpi~nczarr_zip+optimize~parallel-netcdf+pic+shared+szip+zstd build_system=cmake build_type=Release generator=ninja patches=0161eb8,151a621,3b09181 arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]+avx2~ipo build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[e]              ^[email protected]%[email protected]~doc~ncurses+ownlibs build_system=generic build_type=Release arch=windows-windows10.0.22621-AMD64
[+]              ^[email protected]%[email protected]~ipo+pic build_system=cmake build_type=Release generator=ninja libs=shared,static arch=windows-windows10.0.22621-AMD64
[+]              ^[email protected]%[email protected]~ipo+pic+shared build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]~cxx~fortran+hl~ipo~java~map+mpi+shared~subfiling~szip~threadsafe+tools api=default build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]~ipo+shared build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]+compat~ipo+opt build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]~ipo~programs build_system=cmake build_type=Release generator=ninja libs=shared,static arch=windows-windows10.0.22621-AMD64
[e]      ^[email protected]%[email protected]~re2c build_system=generic arch=windows-windows10.0.22621-AMD64
[+]      ^[email protected]%[email protected]+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat~pythoncmd~readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=windows-windows10.0.22621-AMD64

Input spec
--------------------------------
 -   intel-oneapi-mpi

Concretized
--------------------------------
[e]  [email protected]%[email protected]+envmods~external-libfabric~generic-names~ilp64 build_system=generic arch=windows-windows10.0.22621-AMD64

Now using multiple layers of escapes:

[spack] C:\spack_win\spack> spack spec "exodusii ^^intel-oneapi-mpi"
Input spec
--------------------------------
 -   exodusii
 -       ^intel-oneapi-mpi

Concretized
--------------------------------
 -   exodusii@2021-04-05%[email protected]~fortran~ipo+mpi build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[e]      ^[email protected]%[email protected]~doc~ncurses+ownlibs build_system=generic build_type=Release arch=windows-windows10.0.22621-AMD64
[e]      ^[email protected]%[email protected]+envmods~external-libfabric~generic-names~ilp64 build_system=generic arch=windows-windows10.0.22621-AMD64
 -       ^[email protected]%[email protected]+blosc~byterange~dap~fsync~hdf4~ipo~jna+mpi~nczarr_zip+optimize~parallel-netcdf+pic+shared+szip+zstd build_system=cmake build_type=Release generator=ninja patches=0161eb8,151a621,3b09181 arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]+avx2~ipo build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[e]              ^[email protected]%[email protected]~doc~ncurses+ownlibs build_system=generic build_type=Release arch=windows-windows10.0.22621-AMD64
[+]              ^[email protected]%[email protected]~ipo+pic build_system=cmake build_type=Release generator=ninja libs=shared,static arch=windows-windows10.0.22621-AMD64
[+]              ^[email protected]%[email protected]~ipo+pic+shared build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
 -           ^[email protected]%[email protected]~cxx~fortran+hl~ipo~java~map+mpi+shared~subfiling~szip~threadsafe+tools api=default build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]~ipo+shared build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]+compat~ipo+opt build_system=cmake build_type=Release generator=ninja arch=windows-windows10.0.22621-AMD64
[+]          ^[email protected]%[email protected]~ipo~programs build_system=cmake build_type=Release generator=ninja libs=shared,static arch=windows-windows10.0.22621-AMD64
[e]      ^[email protected]%[email protected]~re2c build_system=generic arch=windows-windows10.0.22621-AMD64
[+]      ^[email protected]%[email protected]+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat~pythoncmd~readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=windows-windows10.0.22621-AMD64

Error message

No response

Information on your system

  • Spack: 0.22.0.dev0 (190c0b2f2e1a2e266c7933be9dac622fe91a85f4)
  • Python: 3.11.3
  • Platform: windows-windows10.0.22621-AMD64
  • Concretizer: clingo

General information

  • [X] I have run spack debug report and reported the version of Spack/Python/Platform
  • [X] I have searched the issues of this repo and believe this is not a duplicate
  • [X] I have run the failing commands in debug mode and reported the output

johnwparent avatar Feb 24 '24 00:02 johnwparent

@scheibelp

johnwparent avatar Feb 24 '24 03:02 johnwparent