-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Unsatisfiable constraint when no explicit package version given #10000
Description
Installing flux-core with an explicit version (i.e., [email protected], [email protected], flux-core@master) works perfectly. Attempting to install without an explicit version (i.e., spack install flux-core) fails when spack cannot seem to satisfy the lua dependency. It appears as though the concretizer just grabs tha latest version of lua (5.3.X) and then some other verification pass realizes that this doesn't meet the specification for the latest version of flux-core ([email protected] and [email protected]:5.2.99).
My guess is that this is either:
A) improper specification of dependencies in the flux-core package
B) a bug in the concretizer
Flux's lua dependency specification currently looks like:
depends_on("lua", type=('build', 'run', 'link'))
depends_on("[email protected]:5.1.99", when="@0.1.0:0.9.0")
depends_on("[email protected]:5.2.99", when="@0.10.0:,master")Does the when argument only apply when a user explicitly adds that variant/customization in the command?
Steps to reproduce the issue & Error Message
$ spack -d install flux-core
<snip some lines about reading configs and getting locks>
--------------------------------
flux-core
Concretized
--------------------------------
==> Error: An unsatisfiable version constraint has been detected for spec:
[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected]~symlinks~termlib arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
while trying to concretize the partial spec:
[email protected]%[email protected]~cuda~docs arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected]+sigsegv arch=linux-rhel7-x86_64
^libsigsegv
^[email protected]%[email protected]+cpanm+shared+threads arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected]~symlinks~termlib arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected]+libsodium arch=linux-rhel7-x86_64
^libsodium
^[email protected]%[email protected]~cairo~cuda+libxml2+pci+shared arch=linux-rhel7-x86_64
^libpciaccess
^util-macros
^libxml2
^xz
^[email protected]%[email protected]+optimize+pic+shared arch=linux-rhel7-x86_64
^numactl
^[email protected]%[email protected] build_type=RelWithDebInfo +shared arch=linux-rhel7-x86_64
^[email protected]%[email protected]~doc+ncurses+openssl+ownlibs~qt arch=linux-rhel7-x86_64
^[email protected]%[email protected]+systemcerts arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected]+dbm~optimizations+pic+pythoncmd+shared~tk~ucs4 arch=linux-rhel7-x86_64
^[email protected]%[email protected]+shared arch=linux-rhel7-x86_64
^[email protected]%[email protected] arch=linux-rhel7-x86_64
^[email protected]%[email protected]~functions arch=linux-rhel7-x86_64
flux-core requires lua version 5.1:5.2.99, but spec asked for 5.3.4
Traceback (most recent call last):
File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/main.py", line 669, in main
return _invoke_command(command, parser, args, unknown)
File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/main.py", line 440, in _invoke_command
return_val = command(parser, args)
File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/cmd/spec.py", line 72, in spec
spec.concretize()
File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 1865, in concretize
user_spec_deps=user_spec_deps),
File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 2288, in normalize
visited, all_spec_deps, provider_index, tests)
File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 2227, in _normalize_helper
dep, visited, spec_deps, provider_index, tests)
File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 2168, in _merge_dependency
changed |= spec_deps[dep.name].constrain(dep)
File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 2361, in constrain
raise UnsatisfiableVersionSpecError(self.versions, other.versions)
spack.spec.UnsatisfiableVersionSpecError: An unsatisfiable version constraint has been detected for spec:
<snip repeated spec>Information on your system
This includes:
- TOSS3 system at LLNL