Fixes#7237Fixes#6404Fixes#6418Fixes#6369
Identify when binary relocation fails to remove all instances of the
source prefix (and report an error to the user unless they specify
-a to allow the old root to appear). This check occurs at two stages:
during "bincache create" all instances of the root are replaced with
a special placeholder string ("@@@@..."), and a failure occurs if the
root is detected at this point; when the binary package is extracted
there is a second check. This addresses #7237 and #6418.
This is intended to be compatible with previously-created binary
packages.
This also adds:
* Better error messages for "spack install --use-cache" (#6404)
* Faster relocation on Mac OS (using a single call to
install_name_tool for all files rather than a call for each file)
* Clean up when "buildcache create" fails (addresses #6369)
* Explicit error message when the spack instance extracting the binary
package uses a different install layout than the spack instance that
created the binary package (since this is currently not supported)
* Remove the option to create unsigned binary packages with -y
For hdf5 `1.8.10` and some compilers, the hdf5 build system adds the
'-ansi' flag. hdf5 1.8.10 is not actually ansi compliant so this
adds a patch to modify the places where it violates ansi
compatibility (which ends up being a few comments).
Make neuron package more generic
* find the bin directory dynamically for use in run_env and spack_env
* replace filter_compilers after install with filter_compiler_wrappers
* update checksum for _current_ 7.5 version
* make +python conflict with ~shared
* prepend the architecture specific lib directory to the LD_LIBRARY_PATH
Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>
Fix installs as "root" user for the last libSplash release.
Missing quoting of string compares resulted in a CMake error
when run as root (e.g. in a Docker build).
This updates Cray.setup_platform_environment to use cray-specific
pkgconfig paths so that all providers of 'pkgconfig' have access
to them (previously the 'pkg-config' provider had this but the
'pkgconf' provider did not).