This commit fixes#7900.
In short: in the absence of constraints to the contrary, spack will
download the preferred version of a package, which is usually the most
recent non-develop version. On a clean spack installation without
hypre installed, `spack install mfem` will download hypre 2.14.0,
which is API-incompatible with mfem 3.3.2 (and earlier versions of
mfem), so spack will throw compiler errors re: the API mismatch.
This commit fixes that error by restricting mfem release versions
3.3.2 and earlier to hypre version 2.10.b to 2.13.999 (only 2.13.0
currently exists, but if it has a non-2.14.x maintenance release,
these versions of hypre should also be permitted).
* ceed bundle package including OCCA, MAGMA, Nek5000, mfem, and PETSc
Very preliminary, a lot of ad hoc decisions, fragile, missing functionality
All packages do build on my MacOS laptop with Cuda
Funded-by: ECP
Project: CEED
Time: 4 hours
Reported-by: Tzanio Kolev <kolev1@llnl.gov>
* Some adjustments in a few CEED-related packages.
This is still very preliminary, but with these changes I'm able to build from
scratch on a Mac laptop and a Linux desktop (RHEL7).
Note that there doesn't seem to be a good way to support CUDA in Spack, so
you'll have to install that manually yourself. You will also need a Fortran
compiler, in particular on a Mac where you also have to make sure that it
is being picked up in ~/.spack/darwin/compilers.yaml.
* ceed bundle package including OCCA, MAGMA, Nek5000, mfem, and PETSc
Very preliminary, a lot of ad hoc decisions, fragile, missing functionality
All packages do build on my MacOS laptop with Cuda
Funded-by: ECP
Project: CEED
Time: 4 hours
Reported-by: Tzanio Kolev <kolev1@llnl.gov>
* Reverting Mac-related CUDA checks in the OCCA and MAGMA packages.
A much better solution is to install CUDA manually and add it to
~/.spack/darwin/packages.yaml:
packages:
cuda:
paths:
cuda@8.0.54: /usr/local/cuda
* Fix flake8 warnings
Funded-by: CEED
Project: CEED/Spack
* remove unneeded commented out code
Funded-by: CEED
Project: CEED/Spack
* Don't have PETSc use MUMPS to speedup install time, try parallel installs for Magma
Funded-by: CEED
Project: CEED/Spack
* Added libceed package and made changes to get the ceed metapackage up and running.
* Get the ceed package up and running and added installing the .h file in the libceed package.
* All packages are now pointed at specific versions (either tagged or git hashed.
* Changed some of the specific versions in the CEED metapackage.
* Some version updates.
* Applied Cameron Smith's patch for the latest pumi.
* Merge
* Nek5000: Use tarball instead of git tag
* Major update of the mfem package - needs more testing. Add a testing
shell script for mfem, test_builds.sh, in the mfem directory. It builds
a number of mfem configurations to ensure they all work.
Add 'suite-sparse' variant to petsc.
Add 'develop' version of libceed.
Add 'metis' variant of laghos.
Update the dependencies of ceed.
* Changes in petsc's handling of zlib to make the latest build work on Mac.
* [MFEM] When using '+libunwind', mfem needs '-ldl'.
* [OCCA] Remove debug print statements.
* [PETSc] Replace the check ('zlib' in spec) with ('+zlib' in spec) - the
latter checks if 'zlib' variant of petsc is enabled which is incorrect;
the former checks if petsc is configured to depend on 'zlib'.
* [MFEM] Add conduit variant.
* [libCEED] Enable testing using 'make prove'.
* [MFEM] Tweak test_builds.sh - all builds pass on fedora 27.
* Add a post install test
* Add a post installation check for NekCEM
* pumi: bump git hash, remove unused patch
* Fixed testing of Laghos package
* Adding variants in CEED package
* Empty file for URL didn't work on LLNL/LC. Replacing with bundle-package.txt -> README.md.
* [MFEM] If the spec defines the 'cxxflags' compiler flags, use that value
to set the CXXFLAGS value in the mfem build system.
* Disabling HDF5 by default.
You can still build it with "spack install ceed+hdf5".
* libceed: fix use of prefix versus DESTDIR
* Added cuda variant for libCEED (off by default)
* [libCEED] When building v0.1, fix ceed.pc before installing it.
* [CEED] Add variants for OCCA and PUMI. Replace the hdf5 variant with
a variant called quickbuild that disables variants in packages to
speedup the build - currently hdf5, boost, and superlu-dist in PETSc.
* [libCEED] Remove unused 'import os'.
* [MAGMA] Add version 2.3.0.
* [OCCA] Major update of occa/package.py.
* [libCEED] Several improvements.
* [CEED] Use fixed versions for occa and libceed.
* [OCCA] Fix a bug in CUDA setup.
* NekCEM doesn't need depends_on('python')
* [OCCA,libCEED,MFEM,CEED] Update occa and libceed versions plus a few
tweaks in occa and mfem.
* Switching to gslib-1.0.2 to fix summitdev bug.
* [Nek5000] Use the Fortran 77 compiler instead of the 'fc' compiler.
Propagate any 'fflags' and 'cflags' specifications to the Nek tools.
* [MFEM] Tweak for 'ppc64le'.
* attempt to override fips compatibility error for md5
* Compiler option changes in libCEED to fix summitdev build.
* Disable the nekcem install test until it can be fixed.
* [NekCEM] Major update of the package to fix various issues.
* [NekCEM] Fix formatting
* zoltan: remove non-portable -g0 flag
the pgi compiler does not accept it
* pumi: specify dependency on cmake > 3
* [Nek5000] Add dependency on libx11 when needed. Various hacks to
support IBM XL compilers.
* [NekCEM] Link with the pthreads library - it is required.
* [MAGMA] Add a patch for magma v2.3.0 when building with gcc <= 4.8.
Add dependency on BLAS.
* [CEED] Update to magma 2.3.0. When building with gcc < 4.9 constrain
the used suite-sparse version to <= 5.1.0 - starting with v5.2.0,
suite-sparse requires gcc >= 4.9.
* Small updates
* [libceed, gslib] Fix style
* [Nek5000] Need 'libxt' as a dependency as well.
* [MUMPS] Temporary workaround for ray.
* Updating occa and libceed to laters pre-1.0.0 and pre-0.2 hashes
* petsc: add pkg-config patch for variable quoting
Variable definitions in pkg-config are processed more like make than a
shell, so don't need quoting. Older versions of pkg-config (<= 0.28)
did not remove the quotes when printing the value.
Freedesktop #67904 (https://bugs.freedesktop.org/show_bug.cgi?id=67904)
Reported-by: Tzanio Kolev <kolev1@llnl.gov>
* petsc: add 3.8.4 and myself as co-maintainer
* Updating libceed to latest pre-0.2 hash.
* [PETSc] Add the 'headers' and 'libs' properties.
* [MFEM] Explicitly add rpaths to link flags for external packages.
This is necessary when MFEM's exported options (in config.mk) are
used outside of Spack for linking against MFEM.
* Unset MFEM_DIR before building MFEM
* [PETSc] As observed by @jedbrown, there is no need to define the 'libs'
property explicitly - the default handler works fine too.
* Build MAGMA shared by default, install a few additional headers
* Forgot a self
* Switching to OCCA tag v1.0.0-alpha.4.
Adding urls for OCCA and libCEED ('spack uninstall' complains otherwise).
* Removed FIXMEs for OCCA tag
* [occa] Cleaned up tagged versions
* [libceed] Updated occa to v1.0.0-alpha.5
* [ceed] Updated occa to v1.0.0-alpha.5
* [libCEED] Always define the 'NDEBUG' makefile option based on the
'debug' variant setting - this should always work regardless of the
default setting inside the libceed makefile.
* [MUMPS] Revert a temporary workaround.
* [CEED, libCEED] Minor tweaks.
* libCEED v0.2 release
* [CEED] Use version 0.2 of libCEED.
* [HPGMG] Remove duplicate version.
* [CEED] Update the hpgmg version
* hpgmg: use tarball for 0.3
The Git repository contains somewhat heavy documentation so the tarballs
are much faster.
* hpgmg: +fe was default for the 0.3 release
* hpgmg: explicitly name build directory to avoid use of ambient PETSC_ARCH
* [HPGMG] Fix flake8 formatting
* libceed@0.2: work around occaFree issue
* fixes#967
* Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
* Don't assume spack is in the path when building docs.
* adding mfem variants; do not assume build defaults
* adjusting format to clarify options
* fixing some build issues
* fixing mfem+sundials
* removing mesquite variant...turns out it is obsolete
* adding examples to mfem; fixing sundials darwin installs
* adding some additional variants and setting some configure flags by fiat
* switching most check_variants logic to conflicts() directives
* adding comment about cmake config
* fixing flake8 issues; thought I had already done that
* moving func def into install method
* switch yes_no to no_yes; fix miss-spelling of miniapps
* switching make target all to lib
* changing yes_no to function as requested; fix problem with same in sundials
* fix missing import sys directive
* adding master and develop versions to amrex
* Remove fake URLs from Spack
* Ignore long lines for URLs that start with ftp:
* Preliminary changes to version regexes
* New redesign of version regexes
* Allow letters in version-only
* Fix detection of versions that end in Final
* Rearrange a few regexes and add examples
* Add tests for common download repositories
* Add test cases for common tarball naming schemes
* Finalize version regexes
* spack url test -> spack url summary
* Clean up comments
* Rearrange suffix checks
* Use query strings for name detection
* Remove no longer necessary url_for_version functions
* Strip off extraneous information after package name
* Add one more test
* Dot in square brackets does not need to be escaped
* Move renaming outside of parse_name_offset
* Fix versions for a couple more packages
* Fix flake8 and doc tests
* Correctly parse Python, Lua, and Bio++ package names
* Use effective URLs for mfem
* Add checksummed version to mitos
* Remove url_for_version from STAR-CCM+ package
* Revert changes to version numbers with underscores and dashes
* Fix name detection for tbb
* Correctly parse Ruby gems
* Reverted mfem back to shortened URLs.
* Updated instructions for better security
* Remove preferred=True from newest version
* Add tests for new `spack url list` flags
* Add tests for strip_name_suffixes
* Add unit tests for version separators
* Fix bugs related to parseable name but in parseable version
* Remove dead code, update docstring
* Ignore 'binary' at end of version string
* Remove platform from version
* Flip libedit version numbers
* Re-support weird NCO alpha/beta versions
* Rebase and remove one new fake URL
* Add / to beginning of regex to avoid picking up similarly named packages
* Ignore weird tar versions
* Fix bug in url parse --spider when no versions found
* Less strict version matching for spack versions
* Don't rename Python packages
* Be a little more selective, version must begin with a digit
* Re-add fake URLs
* Fix up several other packages
* Ignore more file endings
* Add parsing support for Miniconda
* Update tab completion
* XFAILS are now PASSES for 2 web tests
- Added a new interface for Specs to pass build information
- Calls forwarded from Spec to Package are now explicit
- Added descriptor within Spec to manage forwarding
- Added state in Spec to maintain query information
- Modified a few packages (the one involved in spack install pexsi) to showcase changes
- This uses an object wrapper to `spec` to implement the `libs` sub-calls.
- wrapper is returned from `__getitem__` only if spec is concrete
- allows packagers to access build information easily
* mfem: add tarball extension
Add tarball extension as a result of a feature added in PR#1926, which
fixes earlier issues in this PR (PR#1202). Prior to adding this feature,
Spack would not autodetect the extension of the tarball downloaded from
the redirected, shorted Google URL, requiring a messy hack. This hack
worked for mfem version 3.1, but led to errors when adding mfem version
3.2 because the files downloaded from Google did not contain the package
name, version number, or extension. Adding the extension enables Spack
to rename the tarball downloaded from Google to a sensible name that is
compatible with its filename parsing algorithms so that Spack "does the
right thing" (detects that the file is a GZipped tarball, decompresses
it, runs GNU Make) in fetching and staging the package.
* mfem: add linkage to KLU & BTF
Add linkage to the KLU & BTF solvers, which are now enabled in MFEM for
versions 3.2 and later.
* mfem: Add superlu-dist variant
Add linkage to SuperLU_DIST, which is a new linear solver interface for
MFEM versions 3.2 and later.
* mfem: add netcdf variant for cubit mesh support
Add NetCDF variant for MFEM versions 3.2 and later; installing the
NetCDF interfaces enables CUBIT mesh support.
MFEM is a free, lightweight, scalable C++ library for finite element
methods.
Includes lapack, hypre, metis, suite-sparse, mpi variants & tests for
serial and parallel versions.