Add version 5.8 and fix sqlite+column_metadata mismatch.#15450
Add version 5.8 and fix sqlite+column_metadata mismatch.#15450chuckatkins merged 1 commit intospack:developfrom
Conversation
|
Fixes: #15448 |
|
@chuckatkins Please review |
|
|
||
| variant('rtree', default=False, description='Build with Rtree module') | ||
| variant('column_metadata', default=False, description="Build with COLUMN_METADATA") | ||
| variant('column_metadata', default=True, description="Build with COLUMN_METADATA") |
There was a problem hiding this comment.
It seems like #15448 implies that paraview requires sqlite+column_metadata. Simply changing the default doesn't ensure that someone won't override this.
There was a problem hiding this comment.
The error comes from qhelpgenerator and Qt does require sqlite+column_metadata. The problem is that python only requires sqlite. spack does not know how to resolve this kind of conflicting specs. The only way I know how to fix this is to enable the most comprehensive package by default. In this case sqlite+column_metadata.
There was a problem hiding this comment.
Python depends on sqlite if +sqlite3 is in its specs. When python+sqlite3 is set the sqlite dependency can be met with either sqlite+column_metadata or sqlite~column_metadata. Setting an explicit dependency for paraview should do the trick, as in #15248. However, I see the following comment in the paraview package:
# depends_on('sqlite') # external version not supported
but I am not really sure what that means in light of #15248 using an external sqlite successfully.
There was a problem hiding this comment.
That is weird. I get:
[~/projects/spack (develop $%=)]$ spack spec paraview+qt | grep sqlite
^[email protected]%[email protected]+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4~uuid+zlib arch=linux-ubuntu18.04-broadwell
^[email protected]%[email protected]~column_metadata+fts~functions~rtree arch=linux-ubuntu18.04-broadwell
[~/projects/spack (develop $%=)]$ git log -1
commit 38d04e29ebe481bcc6d344e669ffca4ebb79bb9f (HEAD -> develop, origin/develop, origin/HEAD)
Author: Hans Pabst
Date: Fri Mar 13 20:44:26 2020 +0100
LIBXSMM 1.15 (#15482)
* LIBXSMM 1.15
* LIBXSMM: renamed development version according to the related branch on GitHub.
[~/projects/spack (develop $%=)]$
There was a problem hiding this comment.
Oh, I did not see that you added the ^sqlite+column_metadata. Yes, that would work, but it requires the users to know to pass that. I think most users won't know to do that and they would report this as a bug.
There was a problem hiding this comment.
Yes, but that is how spack operates, allowing the spec to be overridden. It does not seem like a bug to me.
There was a problem hiding this comment.
It's a bug in the sense that the concretizer should be smart enough to figure this all out on its own, but it currently isn't.
There was a problem hiding this comment.
I see dependencies as a way to specify alternatives, for instance ^mpich versus ^openmpi, or maybe specific versions for dependencies. I think resolving conflicting specs is beyond what a user could know (unless he has a lot of experience with spack), and indeed they could be done automatically.
|
@chuckatkins ping |
adamjstewart
left a comment
There was a problem hiding this comment.
Can't wait until we get a new concretizer that's smart enough to figure this all out on its own.
|
@scottwittenburg Please review |
|
@chuckatkins ping |
|
@chuckatkins @scottwittenburg Ping? |
|
Thanks @chuckatkins ! |
No description provided.