-
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
Spack installing multiple copies of the same spec #403
Comments
Ok two things affect this. In your case it looks like it is the first one. First:
Yes. When we merged external package support, there was a I probably should've emphasized this more on the concall and in the notes. I am trying to keep the number of things that change hashing to a minimum but we have a lot of fundamental new features making their way into the code base, and sometimes it's necessary. The next item should mitigate the impact in the future... Second: Look at #311 -- the satisfaction rules for dependencies don't currently look at what is installed, but they'll reuse it if a sub-dag has the same hash after concretization. We decided in #311 that people would much rather have a best-effort attempt to satisfy things using what is already installed. So once that is fixed, this kind of thing should stop being so annoying -- Spack would just take the namespace-less older spec and use it. Ok, so how to solve this? You should be able to see the differences if you do |
Thank you! This answers my question perfectly. As long as the hashing function changes infrequently, I don't mind uninstalling and reinstalling some older packages. That's the joy of working on the development branch, haha. |
Attempt to fix this: ldd $(spack location --install-dir boost%gcc@6.4.0)/lib/libboost_iostreams.so.1.68.0|grep bz2 libbz2.so.1.0 => not found As reported by @ppodhajski. Curiously, dropping the version suffix results in `libbz2` being resolved.
ferret: add support for %gcc@10: (spack#42660)
Lately I've had a lot of trouble with Spack installing things that are already installed. For example, I installed 2 different packages which depend on jpeg. Now I have 2 copies of jpeg installed. Both are the same version. jpeg doesn't have any dependencies or variants, so that isn't causing problems. But somehow they resolve to a different hash, so Spack installs it twice.
This problem isn't restricted to jpeg. I'm having the exact same problem with szip, which also only has 1 version and no variants or dependencies. I installed szip, then I installed hdf, which depends on szip, so now I have 2 copies. At one point, I installed mpich+verbs and mpich
verbs. Then I installed hdf5 ^mpich+verbs and hdf5 ^mpichverbs. Now I have 4 different installations of mpich, but they're all the same version.Did Spack recently change how it's spec hash is calculated? That could affect older installations. Or am I just going crazy? Here are some examples that are on my machine:
The text was updated successfully, but these errors were encountered: