-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Hardlinked files are handled inconsistently when creating binary packages. #37390
Description
Steps to reproduce
spack install git
spack mirror add foo /tmp/foo
spack buildcache create -m foo --only git -a "/<hash of git package"Checkout the contents of the installed git's libexec/git-core/ directory. There are a ton of files there, but most of them are just hardlinks to the the same place.
Then checkout the .spack/binary_distribution file - Only a small fraction of files that are in libexec/git-core/ are listed under the relocate_* keys. That would be fine, except when Spack creates the binary distro it simply creates a tarball, and that doesn't recreate the hardlinks when extracted.
The result is that one each set of hardlinked files (semi-randomly) will get properly relocated - the rest will be left with their original paths/rpaths.
If you want, you can install that binary package and use readelf -d or ldd to see that the paths are old and/or broken. (Note that if you install it on the same system, the library paths won't be broken as the original install location will still exist).
Error message
None
Information on your system
- Spack: 0.19.0 (cb0b70f)
- Python: 3.6.15
- Platform: linux-sles15-icelake
- Concretizer: clingo
General information
- I have run
spack debug reportand reported the version of Spack/Python/Platform - I have searched the issues of this repo and believe this is not a duplicate
- I have run the failing commands in debug mode and reported the output
Metadata
Metadata
Assignees
Labels
Type
Projects
Status