Clang has support for using different fortran compilers with the Clang executable.
Spack includes logic to select a compiler wrapper symlink which refers to the fortran executable (since some build systems depend on the name of the compiler, e.g. 'gfortran' or 'flang').
This selection was previously based on the architecture, and chose incorrectly in some situations (e.g. for clang/gfortran on Linux). This replaces architecture-based wrapper selection with a selection that is based on the name of the Fortran compiler executable.
* Add the setting of CBTF_MPI_IMPLEMENTATION to the cbtf-krell
and openspeeedshop package files, so that the mpi implementation
can be found by the tool. This allows users to not have to
set this manually if only one mpi implementation is specified
in the build.
* Update version ranges for dependencies of cbtf packages
* GCC: constrain version 6, 7, and 8 to build with ISL version at
most 0.18
* GCC version 9 (not yet released) will be compatible with
ISL version 0.20 so future GCC releases are constrained to build
with ISL version at most 0.20
* ISL: Add v0.15, replace all md5 sums with sha256 sums for ISL
versions
* GCC versions before 6 were constrained to build with ISL 0.14
but have been confirmed to work with ISL 0.15
* GCC: Place an upper bound on GCC's mpfr dependency
* packages/phist: add variant 'fortran' to enable/disable building the Fortran bindings
* xsdk: add phist
* packages/xsdk: add a comment reg. updating phist dependency
* packages/phist: +fortran variant is only for versions 1.7:
* packages/phist: update comments
* xsdk: forgot to specify kernel library for phist (picked tpetra, assuming trilinos+tpetra will be installed)
* packages/phist: add variant 'openmp' to allow disabling OpenMP
* phist: fix compile error due to missing -lm
* flake8: fix warnings
* packages/phist: fix cmake flag: XSDK_ENABLE_Fortran (rather than XSDK_BUILD_Fortran)
* packages/phist: allow disabling building the scamac matrix generator (which causes trouble on some systems)
* packages/xsdk: disable scamac within phist because it caused problems for @balay and is not essential for now
* packages/phist: actually disable scamac via cmake if ~scamac
* phist: disable openmp from xsdk
This commit overhauls the libMesh package script in a number of ways:
* We now inherit from AutotoolsPackage.
* libMesh contains about a dozen third-party dependencies that can
only be provided by the copy bundled with libMesh. This patch
enumerates all such bundled dependencies and disables all of them
by default.
* libMesh supports compilation with external installations of boost,
eigen, hdf5, slepc, and tbb; this patch adds all of them to
package.py.
* libMesh will look for a few system executables (xz, bzip, gdb) by
default. This is now disabled.
* libMesh will now used a copy of perl installed by spack instead of
trying to find the system copy.
* Compilation with non-system MPI installations requires an additional
flag (--with-mpi=); this has been added.
setup-env includes a call to 'ps' to determine what shell is being
used. 'ps' can be instructed to use a different default output format
via the 'PS_FORMAT' env variable. Thus unset this variable before
calling 'ps'.
* Unite Dockerfiles - add build/run/push scripts
* update docker documentation
* update .travis.yml
* switch to using a preprocessor on Dockerfiles
* skip building docker images on pull requests
* update files with copyright info
* tweak when travis builds for docker files are done
The install() function in the miniconda2 & 3 package.py files referenced
self.url, which is hard-coded to 4.3.11. That's not necessary the
version that the user requested, though. Changed the install() function
to reference self.stage.archive_file. Also added a version string for
4.5.11.
Move suite-sparse gcc version constraint from dealii to suite-sparse
package and update it (gcc 4.9 is required as of version 5.2.0 rather
than 5.1.0). The constraint is now expressed as a conflict rather
than a dependency.
W503 and W504 are issued for line breaks before or after binary
operators (respectively). This allows either approach (explicitly
instructing flake8 to ignore both of these cases).
fixes#9624
merge_config_rules was using `strict=False` to check if a spec
satisfies a constraint, which loosely translates to "this spec has
no conflict with the constraint, so I can potentially add it to the
spec". We want instead `strict=True` which means "the spec satisfies
the constraint right now".