Commit graph

15963 commits

Author SHA1 Message Date
robo-wylder
40cd845479 environment-views: fix bug where missing recipe/repo breaks env commands (#17608)
* environment-views: fix bug where missing recipe/repo breaks env commands

When a recipe or a repo has been removed from Spack and an environment
is active, it causes the view activation to crash Spack before any
commands can be executed. Further, the error message it not at all clear
in explaining the issue.

This forces view regeneration to always start from scratch to avoid the
missing package recipes, and defaults add_view=False in main for views activated
by the `spack -e` option.

* add messages to env status and deactivate

Warn users that a view may be corrupt when deactivating an environment
or checking its status while active. Updated message for activate.

* tests for view checking

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-07-23 14:00:42 -07:00
Peter Scheibel
3b45241566 Update fetch order to match iteration order of MirrorReference (#17572) 2020-07-23 14:00:14 -07:00
Tamara Dahlgren
d5b0f85ea3 Reduce output verbosity with debug levels (#17546)
* switch from bool to int debug levels

* Added debug options and changed lock logging to use more detailed values

* Limit installer and timestamp PIDs to standard debug output

* Reduced verbosity of fetch/stage/install output, changing most to debug level 1

* Combine lock log methods; change build process install to debug

* Changed binary cache install messages to extraction messages
2020-07-23 13:59:12 -07:00
eugeneswalker
c6241e72a6 bugfix: use getattr for variation.prefix/suffix (#17669) 2020-07-23 13:56:45 -07:00
Todd Gamblin
f528022a7d bugfix: make compiler preferences slightly saner (#17590)
* bugfix: make compiler preferences slightly saner

This fixes two issues with the way we currently select compilers.

If multiple compilers have the same "id" (os/arch/compiler/version), we
currently prefer them by picking this one with the most supported
languages.  This can have some surprising effects:

* If you have no `gfortran` but you have `gfortran-8`, you can detect
  `clang` that has no configured C compiler -- just `f77` and `f90`. This
  happens frequently on macOS with homebrew. The bug is due to some
  kludginess about the way we detect mixed `clang`/`gfortran`.

* We can prefer suffixed versions of compilers to non-suffixed versions,
  which means we may select `clang-gpu` over `clang` at LLNL. But,
  `clang-gpu` is not actually clang, and it can break builds. We should
  prefer `clang` if it's available.

- [x] prefer compilers that have C compilers and prefer no name variation
  to variation.

* tests: add test for which()
2020-07-23 13:56:18 -07:00
Harmen Stoppels
665a47607e ci pipelines: activate environment without view (#17440) 2020-07-23 13:55:46 -07:00
Todd Gamblin
12958497dc bugfix: ignore Apple's "gcc" by default (#17589)
Apple's gcc is really clang. We previously ignored it by default but
there was a regression in #17110.

Originally we checked for all clang versions with this, but I know of
none other than `gcc` on macos that actually do this, so limiting to
`apple-clang` should be ok.

- [x] Fix check for `apple-clang` in `gcc.py` to use version detection
  from `spack.compilers.apple_clang`
2020-07-23 13:55:11 -07:00
Scott Wittenburg
3a8bc7ffc6 buildcache: list all mirrors even if one fails 2020-07-23 13:54:36 -07:00
Scott Wittenburg
9cbe358f84 Bugfix/install missing compiler from buildcache (#17536)
Ensure compilers installed from buildcache are registered.
2020-07-23 13:53:46 -07:00
Scott Wittenburg
27af499b52 adept-utils: 1.0.1 does not build w/ boost 1.73.0 or newer (#17560) 2020-07-23 13:52:37 -07:00
Harmen Stoppels
24dff9cf20 Fix security issue in CI (#17545)
The `spack-build-env.txt` file may contains many secrets, but the obvious one is the private signing key in `SPACK_SIGNING_KEY`. This file is nonetheless uploaded as a build artifact to gitlab. For anyone running CI on a public version of Gitlab this is a major security problem. Even for private Gitlab instances it can be very problematic.

Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2020-07-23 13:52:09 -07:00
Dr Owain Kenway
e4265d3135 llvm-flang: Only build offload code if cuda enabled (#17466)
* llvm-flang Only build offload code if cuda enabled

The current version executes `cmake(*args)` always as part of the post install.  If device offload is not part of the build, this results in referencing `args` without it being set and the error:

```
==> Error: UnboundLocalError: local variable 'args' referenced before assignment

```

Looking at prevoous version of `llvm-package.py` this whole routine appears to be only required for offload, some indent `cmake/make/install` to be under the `if`.

* Update package.py

Add comment
2020-07-23 13:51:35 -07:00
Sajid Ali
5e5cc99147 clear mpicc and friends before each build (#17450)
* clear mpi env vars
2020-07-23 13:48:47 -07:00
Peter Josef Scheibel
1741279f16 Bump version to 0.15.1; update CHANGELOG and version references 2020-07-10 16:54:49 -07:00
Greg Becker
c2393fe566 spack install: improve error message with no args (#17454)
The error message was not updated when the behavior of Spack environments
was changed to not automatically activate the local environment in #17258.
The previous error message no longer makes sense.
2020-07-10 13:05:49 -07:00
Greg Becker
afbb4a5cba installation: skip repository metadata for externals (#16954)
When Spack installs a package, it stores repository package.py files
for it and all of its dependencies - any package with a Spack metadata
directory in its installation prefix.

It turns out this was too broad: this ends up including external
packages installed by Spack (e.g. installed by another Spack instance).
Currently Spack doesn't store the namespace properly for such packages,
so even though the package file could be fetched from the external,
Spack is unable to locate it.

This commit avoids the issue by skipping any attempt to locate and copy
from the package repository of externals, regardless of whether they
have a Spack repo directory.
2020-07-10 13:05:49 -07:00
Peter Scheibel
e2bec75057 add public spack mirror (#17077) 2020-07-10 13:05:49 -07:00
Todd Gamblin
054e0d1d11 bugfix: no infinite recursion in setup-env.sh on Cray
On Cray platforms, we rely heavily on the module system to figure out
what targets, compilers, etc. are available. This unfortunately means
that we shell out to the `module` command as part of platform
initialization.

Because we run subcommands in a shell, we can get infinite recursion if
`setup-env.sh` and friends are in some init script like `.bashrc`.

This fixes the infinite loop by adding guards around `setup-env.sh`,
`setup-env.csh`, and `setup-env.fish`, to prevent recursive
initializations of Spack. This is safe because Spack never shells out to
itself, so we do not need it to be initialized in subshells.

- [x] add recursion guard around `setup-env.sh`
- [x] add recursion guard around `setup-env.csh`
- [x] add recursion guard around `setup-env.fish`
2020-07-10 13:05:49 -07:00
cedricchevalier19
c8a83661c2 Fix gcc + binutils compilation. (#9024)
* fix binutils deptype for gcc

binutils needs to be a run dependency of gcc

* Fix gcc+binutils build on RHEL7+

static-libstdc++ is not available with system gcc.
Anyway, as it is for bootstraping, we do not really care depending on
a shared libstdc++.

Co-authored-by: Michael Kuhn <michael@ikkoku.de>
2020-07-10 13:05:49 -07:00
Michael Kuhn
4e4de51f0d autotools bugfix: handle missing config.guess (#17356)
Spack was attempting to calculate abspath on the located config.guess
path even when it was not found (None); this commit skips the abspath
calculation when config.guess is not found.
2020-07-10 13:05:49 -07:00
TZ
28549f300d inel-mpi: fix for wrong structure name instroduced in ea8a0be4 (#17382)
it's    mpi_compiler_wrappers
and not mpi_compiler._wrappers

fixes 2nd part of #17371
2020-07-10 13:05:49 -07:00
Adam J. Stewart
7717f00dac Fix Intel MPI super invocation, again (#17378) 2020-07-10 13:05:49 -07:00
Michael Kuhn
44681dbca5 autotools: Fix config.guess detection, take two (#17333)
The previous fix from #17149 contained a thinko that produced errors for
packages that overwrite configure_directory.
2020-07-10 13:05:49 -07:00
Gregory Becker
d4bf70d988 changelog for v0.15.0 2020-06-30 18:21:32 -05:00
Gregory Becker
49aebb44b1 bump version number 2020-06-30 18:21:32 -05:00
Glenn Johnson
37d7b5b199
Activate environment in container file (#17316)
* Activate environment in container file

This PR will ensure that the container recipes will build the spack
environment by first activating the environment.

* Deactivate environment before environment collection

For Singularity, the environment must be deactivated before running the
command to collect the environment variables. This is because the
environment collection uses `spack env activate`.
2020-06-30 18:17:58 -05:00
Greg Becker
cec55577d4
run github workflows on release branches (#17317) 2020-06-30 18:10:10 -05:00
Massimiliano Culpo
486b4671b6
Don't detect "classic" on Cray to avoid a compiler bug (#17314)
* Don't detect "classic" on Cray to avoid a compiler bug

* add tests

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-06-30 15:45:29 -05:00
Johannes Blaschke
1d55adfd2b
Add fish shell support (#9279)
* share/spack/setup-env.fish file to setup environment in fish shell

* setup-env.fish testing script

* Update share/spack/setup-env.fish

Co-Authored-By: Elsa Gonsiorowski, PhD <gonsie@me.com>

* Update share/spack/qa/setup-env-test.fish

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* updates completions using `spack commands --update-completion`

* added stderr-nocaret warning

* added fish shell tests to CI system


Co-authored-by: becker33 <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Elsa Gonsiorowski, PhD <gonsie@me.com>
2020-06-30 14:26:27 -05:00
Greg Becker
212299a021
Cray compiler: fix implicit rpaths for classic versions (#17310)
* check link dirs for existence
2020-06-30 12:46:20 -05:00
Andrew Gaspar
c12885768d
cmake v3.17.3 (#17313) 2020-06-30 11:37:06 -05:00
Andrew W Elble
78ac36204e
half: fix __F16C__ include of immintrin.h (#17272)
Small fix so that immintrin.h gets included properly when the
compiler sets __F16C__. Upstream has been notified.
2020-06-30 11:27:34 -05:00
darmac
463d0d7bd9
filebench:remove autoreconf() (#17305) 2020-06-30 11:05:39 -05:00
albestro
55796203c4
add constrain for hpx 1.4.* and boost 1.73.0 (#17307)
https://github.com/STEllAR-GROUP/hpx/issues/4728#issuecomment-640685308
2020-06-30 11:03:26 -05:00
Tomoki, Karatsu
0fd71d24ba
cleverleaf: Add C++ link flags for Fujitsu. (#17308) 2020-06-30 11:02:18 -05:00
Mark Olesen
c4c010c0bf
Add OpenFOAM 2006 (2020-06) release (#17309)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-06-30 11:01:00 -05:00
Andrew Gaspar
e74008bcce
Catch2 v2.12.3 (#17312)
Added master branch, too
2020-06-30 10:59:12 -05:00
vvolkl
b9385998a8
[whizard] Fix Runtime Compiler Paths (#17300)
* [whizard] fix runtime compilers

fix

* [whizard] flake8

* [whizard] add master branch
2020-06-30 10:38:15 -05:00
Jen Herting
b329f10c7b
[py-mdanalysis] new version and added dependencies (#16819)
* [py-mdanalysis] new version and added dependencies

Original commit message:

Author: Andrew Elble <aweits@rit.edu>
Date:   Thu Nov 14 08:35:14 2019 -0500

    mdanalysis

* [py-mdanalysis] python is type build/run

* [py-mdanalysis] updated numpy version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] updated biopython version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] updated py-griddataformats version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] gsd only required after version 1.17.0 and requires gsd@1.4.0

* [py-mdanalysis] only requires mmtf-python after version 0.16.0 and requires version 1.0.0

* [py-mdanalysis] has required py-joblib since version 0.16

* [py-mdanalysis] updated py-scipy version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] updated py-matplotlib version requirement for all listed versions of py-mdanalysis

* [py-mdanalysis] has required py-mock since version 0.18.0

* [py-mdanalysis] py-scikit-learn only required after version 0.16.0 and only for +analysis variant

* [py-mdanalysis] Reordered and reformatted for readability

* [py-mdanalysis] flake8 fixes

* [py-mdanalysis] proactively adding version 1.0.0 while I'm here since major release

* [py-mdanalysis] fixing some forgotten colons
2020-06-30 09:29:45 -05:00
Jen Herting
14894a7b09
[py-crossmap] added version 0.3.9 (#17233)
* [py-crossmap] added version 0.3.9

* [py-crossmap] py-numpy not required

* [py-crossmap] py-cython must be >= 0.17
2020-06-30 09:28:13 -05:00
Jen Herting
f25d6e64f6
[ruby] fixing path to gcc such that users can use gem to install nati… (#17141)
* [ruby] fixing path to gcc such that users can use gem to install native gems to their home directory

* [ruby] working on making flake8 happier

* [ruby] Line can't really be split cleanly. Enhancing flake8's calm.

ya learn something new every day...

* [ruby] line break where requested

* [ruby] make raw string

* [ruby] only running for x86_64-linux everything else is untested

* [ruby] finding rbconfig.rb in a cross platform manner
2020-06-30 09:27:48 -05:00
Sinan
6d46fbb6f7
New package/graphblast (#17289)
* new package: GraphBlast

* polish

* add cuda_arch setup

* flake8

* the package requires cuda variant and dependency

* add comments

* define cuda_arch

* implement multiple and custom cuda arches

* tidy up, improve

* flake8

* improve style

* add variant description

* use patch method, add new version for latest commit building since master now fails

* remove gcc conflict, tidy up

* also indicate build range for boost

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@github>
2020-06-30 08:05:08 -05:00
Harsh Bhatia
6fb30acb77
dssp: new package at v3.1.4 (#17188)
Renamed xspp to hspp
2020-06-30 08:58:13 +02:00
Sinan
01dc8d6fc8
postgis: added package at v3.0.1 (#12635)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Sinan81 <Sinan81@github>
2020-06-30 08:14:33 +02:00
Sebastian Gottfried
5e1cb24bec
py-mpi4py: Implement headers Property (#17295)
py-mpi4py installs its header files at a difficult-to-predict location:

    $prefix/lib/python-x.y/site-packages/mpi4py/include

With the new `headers` properties, dependent packages have now an easy
way to obtain this location:

    spec['py-mpi4py'].headers.directories[0]
2020-06-29 21:36:38 -05:00
iarspider
2de0053c08
New package: hepmcanalysis (#17296)
* [WIP] Add hepmcanalysis package

* Implement install() for hepmcanalysis

* Flake-8

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-06-29 21:35:25 -05:00
Amjad Kotobi
17985959a4
R: new versions (#17297) 2020-06-29 21:33:57 -05:00
Adam J. Stewart
c8e2529eae
GDAL: add v3.1.1 (#17302) 2020-06-29 21:26:49 -05:00
h-denpo
17fa1edf32
Some files could not be created due to errors, which have been fixed. (#17250)
added support for Fujitsu compiler.
2020-06-29 21:26:26 -05:00
Fabien Bruneval
6f824b598c
cp2k: variant tuning lmax was broken (#17266)
* cp2k: variant tuning `lmax` was broken

- `spack install cp2k lmax=6` now works

* Update var/spack/repos/builtin/packages/cp2k/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/cp2k/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/cp2k/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/cp2k/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/cp2k/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/cp2k/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-29 21:24:25 -05:00