spack/etc/spack/defaults
Harmen Stoppels 06eae96ef9
config:shared_linking:missing_library_policy to error/warn about accidental use of system libraries on linux/freebsd (#47365)
This commit adds a config option `config:shared_linking:missing_library_policy:error/warn/ignore` which will cause installation errors or warnings when ELF executables or libraries need shared libraries which cannot be resolved from RPATH search paths. The default is to ignore.

This is a safeguard against accidentally linking to system libraries instead of Spack libraries. It makes it more likely that build cache installs work on different machines. It works only at the level of libraries, not at the level of symbols. Some system dependencies are allowed (e.g. kernel and libc).

Packages can (but are discouraged to) set `unresolved_libraries` to a list of patterns of sonames/library names that are know to be unresolvable in RPATHs.  In the future this could be made more fine-grained in a non-breaking way by allowing a dictionary of patterns `lib => [deps]`.
2024-12-16 12:32:36 +01:00
..
darwin Tune default compiler preferences (#43805) 2024-04-24 18:00:40 +02:00
linux iconv: remove requirement (#45206) 2024-07-15 17:45:32 +02:00
windows Remove the old concretizer (#45215) 2024-08-10 16:12:27 -07:00
bootstrap.yaml bootstrap: add clingo 3.13 binaries and more (#47126) 2024-10-24 08:55:14 +02:00
concretizer.yaml solver: add a timeout handle for users (#47661) 2024-11-19 15:00:26 +01:00
config.yaml config:shared_linking:missing_library_policy to error/warn about accidental use of system libraries on linux/freebsd (#47365) 2024-12-16 12:32:36 +01:00
mirrors.yaml mirrors: distinguish between source/binary mirror; simplify schema (#34523) 2023-07-13 11:29:17 +00:00
modules.yaml Revert "defaults/modules.yaml: hide implicits (#40906)" (#40955) 2023-11-08 14:33:50 -07:00
packages.yaml configuration: set egl as buildable:false (#47865) 2024-12-02 11:33:01 -08:00
repos.yaml