Commit Graph

28384 Commits

Author SHA1 Message Date
Harmen Stoppels
030bce9978 compiler wrapper: fix -Xlinker parsing (#35929)
* compiler wrapper: fix -Xlinker parsing
* handle the case of -rpath without value; avoid that we drop the flag
* also handle the -Xlinker -rpath -Xlinker without further args case...
* fix test
* get rid of global $rp var, reduce branching
2023-04-03 16:51:02 +02:00
Greg Becker
ba9c8d4407 cce compiler: bugfix for version regex to avoid conflation with apple-clang (#35974)
Currently apple-clang is detected as cce, and it should not be.
---------

Co-authored-by: becker33 <becker33@users.noreply.github.com>
2023-04-03 16:51:02 +02:00
Harmen Stoppels
16052f9d1d compiler wrapper: parse Wl and Xlinker properly (#35912)
Two fixes:

1. `-Wl,a,b,c,d` is a comma separated list of linker arguments, we
   incorrectly assume key/value pairs, which runs into issues with for
   example `-Wl,--enable-new-dtags,-rpath,/x`
2. `-Xlinker,xxx` is not a think, so it shouldn't be parsed.
2023-04-03 16:51:02 +02:00
Alberto Invernizzi
b32105f4da fix dump problem (#35673)
if dump file existed it was not truncating the file, resulting in
a file with unaltered filesize, with the new content at the beginning,
"padded" with the tail of the old content, since the new content was
not enough to overwrite it.
2023-04-03 16:51:02 +02:00
simon-Leary42
9c1c5c2936 nonexistent module concise error message (#35502) 2023-04-03 16:51:02 +02:00
Adam J. Stewart
c8f7c78e73 Fix view support for optional Python extensions (#35489)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-04-03 16:51:02 +02:00
Harmen Stoppels
da50816127 Improve error handling in buildcache downloads (#35568)
The checksum exception was not detailed enough and not reraised when using cache only, resulting in useless error messages.

Now it dumps the file path, expected
hash, computed hash, and the downloaded file summary.
2023-04-03 16:51:02 +02:00
elenimath
19186a5e44 Pass tests argument to solver method when concretizing together (#35290)
to make the workaround for #29447 work with `concretizer:unify:true` option
2023-04-03 16:51:02 +02:00
Harmen Stoppels
de4cf49e95 clang/apple-clang correct c/c++ standard flags (#35062) 2023-04-03 16:51:02 +02:00
Harmen Stoppels
f79928d7d1 Increase db timeout 3s -> 60s (#35517)
When running many concurrent spack install processes that need to write
to the db, Spack regularly times out. This is because writing to the DB
after another process has written to it requires deserialization of the
db, mutating it in memory, and serializing it again, which takes some
time. On top of that, I believe there's a 1 second retry when a write
lock cannot be obtained, so I think this means only 3 processes can
really write to the DB at the same time before timing out.
2023-04-03 16:51:02 +02:00
Harmen Stoppels
187f8e9f4a view: fix issue with non-contributing specs (#34661)
Specs that did not contribute any files to an env view caused a problem
where zip(specs, files grouped by prefix) got "out of sync", causing the
wrong merge map to be passed to a package's `add_files_to_view`, which
specifically caused an issue where *sometimes* bin/python ended up as a
symlink instead of a copy.

One such example is kokkos + kokkos-nvcc-wrapper, as the latter package
only provides the file bin/nvcc_wrapper, which is also added to view by
kokkos, causing kokkos-nvcc-wrapper to contribute 0 files.

The test feels a bit contrived, but it captures the problem... pkg a is
added first and has 0 files to contribute, pkg b adds a single file, and
we check if pkg b receives a merge map (and a does not).
2023-04-03 16:51:02 +02:00
Massimiliano Culpo
2536dd57a7 Avoid verifying variants in default package requirements (#35037)
Default package requirements might contain
variants that are not defined in each package,
so we shouldn't verify them when emitting facts
for the ASP solver.

Account for group when enforcing requirements

packages:all : don't emit facts for requirement conditions
that can't apply to current spec
2023-04-03 16:51:02 +02:00
Harmen Stoppels
06a2c36a5a Set version to 0.19.2.dev0 2023-04-03 16:51:02 +02:00
Harmen Stoppels
5e0d210734 Set version to 0.19.1 2023-02-09 10:24:14 +01:00
eugeneswalker
e3d4531663 protected runner jobs at uo: trust e4s-uo signing key (#34828) 2023-02-09 10:24:14 +01:00
Harmen Stoppels
9e8e72592d tau: checksum (#33873) 2023-02-08 10:10:38 +01:00
Scott Wittenburg
2d9fa60f53 bindist: use append as a method, not assignable attr (#35379) 2023-02-08 10:10:38 +01:00
eugeneswalker
f3149a6c35 e4s: disable mac stack due to binary relocation issue#32571 (#34560) 2023-02-07 20:13:56 +01:00
Matthias Wolf
403ba23632 Fix path handling in prefix inspections (#35318)
At least with ZSH, prefix inspections containing `./bin` result in a
`$PREFIX/./bin` and result in strange `$PATH` handling.

I.e., `module load git` will prepend `/path/to/git/./bin`, `which git`
will find the right executable, but `git --version` will print the
system one. Normalize the relative path to avoid this behavior.

See also spack/spack#31867.
2023-02-07 20:13:56 +01:00
Gilles Gouaillardet
d62c10ff76 fix libtool filter for Fujitsu compilers (#34916)
Since legit regular expressions are matched, do not pass string=True
to the filter

Refs #34897
2023-02-07 20:13:56 +01:00
Harmen Stoppels
3aa24e5b13 buildcache create: make "file exists" less verbose (#35019)
Currently we print 3 lines of "file exist" warning per tarball, this is
a bit excessive. Instead, it can be a simple single-line tty.warn
message.
2023-02-07 20:13:56 +01:00
Harmen Stoppels
c7200b4327 no python 3.6 anymore on ubuntu 22.04 in relevant setup action? 2023-02-07 20:13:56 +01:00
Dom Heinzeller
5b02b7003a Bug fix for duplicate rpath errors on macOS when creating build caches (#34375) 2023-02-07 20:13:56 +01:00
Harmen Stoppels
f83972ddc4 disable flake warnings for unused imports of types 2023-02-07 20:13:56 +01:00
Harmen Stoppels
fffca98a02 spack mirror create takes local paths only (#34992)
spack mirror create cannot work with urls, so it shouldn't promote local
paths to file urls.
2023-02-07 20:13:56 +01:00
Jonathon Anderson
390112fc76 FileCache: Delete the new cache file on exception (#34623)
The code in FileCache for write_transaction attempts to delete the temporary file when an exception occurs under the context by calling shutil.rmtree. However, rmtree only operates on directories while the rest of FileCache uses normal files. This causes an empty file to be written to the cache key when unneeded.

Use os.remove instead which operates on normal files.

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-02-07 20:13:56 +01:00
Todd Gamblin
2f3f4ad4da docs: remove monitors and analyzers (#34358)
These experimental features were removed in #31130, but the docs were not.

- [x] remove the `spack monitor` and `spack analyze` docs
2023-02-07 20:13:56 +01:00
Massimiliano Culpo
0f9e07321f Propagate exceptions from Spack python console (#34547)
fixes #34489

Customize sys.excepthook to raise SystemExit when
any unhandled exception reaches the hook.
2023-02-07 20:13:56 +01:00
Massimiliano Culpo
7593b18626 Use a module-like object to propagate changes in the MRO, when setting build env (#34059)
This fixes an issue introduced in #32340, which changed the semantics of the "module"
object passed to the "setup_dependent_package" callback.
2023-02-07 20:13:56 +01:00
Massimiliano Culpo
e964a396c9 Forward lookup of the "run_tests" attribute (#34531)
fixes #34518

Fix an issue due to the MRO chain of the package wrapper
during build. Before this PR we were always returning
False when the builder object was created before the
run_tests method was monkey patched.
2023-02-07 20:13:56 +01:00
Massimiliano Culpo
8d45404b5b scons: fix signature for install_args (#34481) 2023-02-07 20:13:56 +01:00
Chris Green
7055061635 PackageBase should not define builder legacy attributes (#33942)
* Add a regression test for 33928

* PackageBase should not set `(build|install)_time_test_callbacks`

* Fix audits by preserving the current semantic

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-02-07 20:13:56 +01:00
Massimiliano Culpo
5e9799db4a Improve error message for requirements (#33988)
refers #33985
2023-02-07 20:13:56 +01:00
Harmen Stoppels
4258fbbed3 Fix combine_phase_logs text encoding issues (#34657)
Avoid text decoding and encoding when combining log files, instead
combine in binary mode.

Also do a buffered copy which is sometimes faster for large log files.
2023-02-07 20:13:56 +01:00
Scott Wittenburg
db8fcbbee4 ci: restore ability to reproduce gitlab job failures (#33953) 2023-02-07 20:13:56 +01:00
Harmen Stoppels
d33c990278 uninstall: fix accidental cubic complexity (#34005)
* uninstall: fix accidental cubic complexity

Currently spack uninstall runs in worst case cubic time complexity
thanks to traversal during traversal during traversal while collecting
the specs to be uninstalled.

Also brings down the number of error messages printed to something
linear in the amount of matching specs instead of quadratic.
2023-02-07 20:13:56 +01:00
Massimiliano Culpo
59dd405626 Fix a bug/typo in a config_values.py fixture (#33886) 2023-02-07 20:13:56 +01:00
Harmen Stoppels
dbbf7dc969 Fixup: start the timer before the phase (#33917) 2023-02-07 20:13:56 +01:00
Harmen Stoppels
8a71aa874f Fix incorrect timer (#33900)
Revamp the timer so we always have a designated begin and end.

Fix a bug where the phase timer was stopped before the phase started,
resulting in incorrect timing reports in timers.json.
2023-02-07 20:13:56 +01:00
Michael Kuhn
0766f63182 docs: fix typo (#33926) 2023-02-07 20:13:56 +01:00
Harmen Stoppels
380fedb7bc docs: fix typo in multiple build systems 2023-02-07 20:13:56 +01:00
Harmen Stoppels
33cc47f6d3 Revert "Hotfix/namespace (#33870)"
This reverts commit a86911246a.
2023-02-07 20:13:56 +01:00
Harmen Stoppels
5935f9c8a0 Set version to 0.19.1.dev0 2023-02-07 20:13:56 +01:00
Greg Becker
a86911246a
Hotfix/namespace (#33870)
Concretize namespaces

Add new concretizer option `enable_node_namespace` that enables namespace-specific concretization
2022-11-13 05:08:39 -06:00
Greg Becker
cd94827c5f
bump release version for tutorial command (#33859)
* bump release version for tutorial command
* Use spack.spack_version_info as source of truth

Co-authored-by: Todd Gamblin <gamblin2@llnl.gov>
2022-11-12 11:41:59 -08:00
Gregory Becker
bb8b4f9979
ensure view projections for extensions always point to extendee 2022-11-11 09:30:32 -08:00
Harmen Stoppels
fc7a16e77e docs: updates related to extensions (#33837) 2022-11-11 16:31:25 +01:00
Todd Gamblin
e633e57297 Update CHANGELOG.md for v0.19.0
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2022-11-11 16:29:30 +01:00
Todd Gamblin
7b74fab12f
Update SECURITY.md for v0.19 2022-11-11 01:06:17 -08:00
Todd Gamblin
005c7cd353
Version is now v0.19.0. 2022-11-11 00:50:50 -08:00