Skip to content

Concretizer hangs in spack 1.1.0 when using older GCCs  #51599

@grisuthedragon

Description

@grisuthedragon

Steps to reproduce

I installed a bunch of compilers using a spack environment

spack:
  specs:
  - [email protected]
  - [email protected] 
  - [email protected]
  - [email protected]
  - [email protected]
  - [email protected]
  - [email protected] +nvidia 
  - [email protected] 
  - [email protected]+allow-unsupported-compilers 
  - [email protected]+allow-unsupported-compilers 
  - [email protected]+allow-unsupported-compilers 
  - [email protected]+allow-unsupported-compilers 
  - [email protected]+allow-unsupported-compilers 
  view:
    default:
      root: /cluster/software/sys/spack/root-1.1
      select:
      - gcc
      - cmake
      - aocc
      - intel-oneapi-compilers
      - cuda
      projections:
        all: '{name}-{version}'
      link: all
      link_type: symlink

  concretizer:
    unify: false
    reuse: true

and the following global packages.yaml:

packages:
  all:  
    require:
      - target=x86_64_v3

    providers:
      zlib-api: [zlib]
  slurm:
    externals:
    - spec: [email protected]
      prefix: /usr
    buildable: false
    prefer:
    - spec: ~gtk

  cuda:
    prefer:
    - "@12.9"
    require:
    - +allow-unsupported-compilers
  aocc:
    require:
    - spec: +license-agreed
  gcc:
    require:
        # Required, otherwise the concretization fails since the installed/external gcc 11.4.1 gets not detected with all features 
         - spec: languages='c,c++,fortran,jit,lto' +piclibs +graphite +bootstrap %gcc                                          
           when: '@:10,12:' 
    externals:
       - spec: [email protected] languages:='c,c++,fortran' 
         prefix: /usr                                  
         extra_attributes:            
         compilers:                                                                                                   
            c: /usr/bin/gcc                                                                                                    
            cxx: /usr/bin/g++                                                                                                
            fortran: /usr/bin/gfortran 

Now I created an environment, where I want to install OpenMPI

If I run spack compiler list in the OpenMPI environment, I get

# spack compiler list
==> Available compilers
-- aocc almalinux9-x86_64 ---------------------------------------
[+]  [email protected]

-- gcc almalinux9-x86_64 ----------------------------------------
[e]  [email protected]  [+]  [email protected]  [+]  [email protected]  [+]  [email protected]  [+]  [email protected]  [+]  [email protected]

-- intel-oneapi-compilers almalinux9-x86_64 ---------------------
[+]  [email protected]

so the desired compiler is available but running

spack concretize -f 

runs forever.

Error message

No response

Information on your system

General information

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

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions