-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why does spack install new version of package instead of using existing one? #5839
Comments
Was the manual installation added as an entry to |
Thanks for getting back to me and sorry for the slow response, I was offline yesterday :)
No, my only customization of
|
OK, scratch this, I don't know why I thought so. Looking at the concretized spec, I think I see why this is happening.
Notice the
However,
So an explicit install of
If it is so, I'm guessing there's no easy way around it, because spack (probably?) needs this determinism to guarantee reproducibility (and for the dep hashes to make sense). Theoretically, allowing different versions of a build/link (not run) dependency should be possible (i.e. there's no reason why |
Still, it is annoying that you end up with a new version of perl/python etc. whenever you install a package that needs them to build, and also shares a dependency with them which happens to have been updated in the meantime :( But as noted above, I've no idea whether a fix is even theoretically possible given spack's architecture, and even if possible, whether it's doable in practice. |
#5476 was merged on 9/30 and changed the hashes of specs where hashes are applied (even if the same hashes are applied as before)
Generally speaking - yes. Whether or not Spack could get away with doing otherwise is a nuance not yet appreciated by the current concretizer. See for example: #3768 (which gets into when it makes sense to build separate instances of a given package)
This issue is documented at #646 I think this either covers existing questions or has overlap with existing issues that are linked, so I'm going to close this. Feel free to reopen if I missed something and there is a remaining issue that is unaddressed and not related to the issue I linked here (to be clear: feel free to reopen if your remaining problems aren't covered by #646 - you don't have to search around extensively for other issues that may be related). |
Thank you for taking the time to post such a complete reply, including pointers to existing issues :) I think that covers all my questions and misgivings, I've subscribed to the relevant issues to keep track of progress. Thanks again! |
I have currently two versions of perl installed:
The second one was installed manually some time ago, the first one was installed as a dependency when trying to install
r^gettext~libxml2
. Is there a way to find out why, instead of reusing the existing installation?I tried to examine
spack spec r^gettext~libxml2
, but that got me even more confused, because the concretized perl dependency seems to be the second one (i.e. the one installed first, manually):The text was updated successfully, but these errors were encountered: