Don't set LD_LIBRARY_PATH by default on Linux (#28354)
`LD_LIBRARY_PATH` can break system executables (e.g., when an enviornment is loaded) and isn't necessary thanks to `RPATH`s. Packages that require `LD_LIBRARY_PATH` can set this in `setup_run_environment`. - [x] Prefix inspections no longer set `LD_LIBRARY_PATH` by default - [x] Document changes and workarounds for people who want `LD_LIBRARY_PATH`
This commit is contained in:
@@ -331,17 +331,17 @@ spt_contains "usage: spack module " spack -m module
|
||||
|
||||
title 'Testing `spack load`'
|
||||
set _b_loc (spack -m location -i b)
|
||||
set _b_ld $_b_loc"/lib"
|
||||
set _b_bin $_b_loc"/bin"
|
||||
set _a_loc (spack -m location -i a)
|
||||
set _a_ld $_a_loc"/lib"
|
||||
set _a_bin $_a_loc"/bin"
|
||||
|
||||
spt_contains "set -gx LD_LIBRARY_PATH $_b_ld" spack -m load --only package --fish b
|
||||
spt_contains "set -gx PATH $_b_bin" spack -m load --only package --fish b
|
||||
spt_succeeds spack -m load b
|
||||
set LIST_CONTENT (spack -m load b; spack load --list)
|
||||
spt_contains "b@" echo $LIST_CONTENT
|
||||
spt_does_not_contain "a@" echo $LIST_CONTENT
|
||||
# test a variable MacOS clears and one it doesn't for recursive loads
|
||||
spt_contains "set -gx LD_LIBRARY_PATH $_a_ld:$_b_ld" spack -m load --fish a
|
||||
spt_contains "set -gx PATH $_a_bin:$_b_bin" spack -m load --fish a
|
||||
spt_succeeds spack -m load --only dependencies a
|
||||
spt_succeeds spack -m load --only package a
|
||||
spt_fails spack -m load d
|
||||
|
||||
Reference in New Issue
Block a user