Type object
File match **/*spack/**/concretizer.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/spack-concretizer-yaml/latest.json
Source https://raw.githubusercontent.com/spack/schemas/refs/heads/main/schemas/concretizer.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

concretizer object

Concretizer configuration that controls dependency selection, package reuse, and solver behavior

14 nested properties
force boolean

Force re-concretization when concretizing environments

Default: false
reuse boolean | string | object

Controls how aggressively Spack reuses installed packages and build caches during concretization

enable_node_namespace boolean

Enable node namespace functionality in the concretizer

targets object

Controls which target microarchitectures are considered during concretization

2 nested properties
host_compatible boolean

If true, only allow targets compatible with the current host; if false, allow any target (e.g., concretize for icelake while running on haswell)

granularity string

Target selection granularity: 'microarchitectures' (e.g., haswell, skylake) or 'generic' (e.g., x86_64_v3, aarch64)

Values: "generic" "microarchitectures"
unify boolean | string

Controls whether environment specs are concretized together or separately

compiler_mixing boolean | array

Whether to allow compiler mixing between link/run dependencies

splice object

Configuration for spec splicing: replacing dependencies with ABI-compatible alternatives to improve package reuse

2 nested properties
explicit object[]

List of explicit splice configurations to replace specific dependencies

Default:
[]
automatic boolean

Enable automatic splicing for ABI-compatible packages (experimental feature)

duplicates object

Controls whether the dependency graph can contain multiple configurations of the same package

2 nested properties
strategy string

Duplication strategy: 'none' (single config per package), 'minimal' (allow build-tools duplicates), 'full' (experimental: allow full build-tool stack separation)

Values: "none" "minimal" "full"
max_dupes Record<string, integer>

Maximum number of duplicates allowed per package when using strategies that permit duplicates

static_analysis boolean

Enable static analysis to reduce concretization time by generating smaller ASP problems

timeout integer

Maximum time in seconds for the solve phase (0 means no time limit)

min=0
error_on_timeout boolean

If true, timeout always results in error; if false, use best suboptimal solution found before timeout (yields unreproducible results)

os_compatible Record<string, array>

Compatibility mapping between operating systems for reuse of compilers and packages (key: target OS, value: list of compatible source OSes)

concretization_cache object

Configuration for caching solver outputs from successful concretization runs

3 nested properties
enable boolean

Whether to utilize a cache of solver outputs from successful concretization runs

url string

Path to the location where Spack will root the concretization cache

entry_limit integer

Limit on the number of concretization results that Spack will cache (0 disables pruning)

min=0
externals object

Configuration for how Spack handles external packages during concretization

1 nested properties
completion string

Controls how missing information (variants, etc.) is completed for external packages: 'architecture_only' completes only mandatory architectural information; 'default_variants' also completes missing variants using their default values

Values: "architecture_only" "default_variants"