* opengl: make error throw on install, not fetch
* opengl: add configuration advice for darwin
* opengl: add more versions of GL/OpenGL
* opengl: improve documentation in comments
* [OpenGL] Fix formatting
* new package "DSRC" (bioinformatics)
* remove uncommented line
* get rid of unnecessary import
* convert to MakefilePackage class
* get rid of make() in install phase, remove spaces
* make flake8 happy!
Add a proper install variant for Catch(2).
This allows to use Catch2 downstram with `pkg-config` and
CMake's `find_package` commands via standard environment hints.
* fix boost and muparser for Clang 9.1.0 with C++17
* muparser: add C++11 flags
* dealii: temporary disable python by default
* dealii: make CMake find right python
* Current versions of kokkos conflict with hwloc 2.x
Current versions of kokkos cannot build with hwloc v2.x due to changes
in the associated structs. Requiring v1.11.9 for the time being
until it becomes clear what the kokkos model will be
* Explicitly commenting fix for posterity
Explicitly commented version number of hwloc dependency for kokkos for
posterity purposes and to pass code coverage for speedy merging
* Generalized Kokkos's Hwloc Dependency
Generalized dependency to v1.x of hwloc
* Fixed Flake8 issue
Fixed comment to conform to flake8
* Fixed ordering for Version Requirements
Fixed ordering to indicate <= 1.11.9, not >1
* Generalized kokkos dependency
* explicitly specify user-config.jam as it isn't found
via the environment variable on older boost versions
(cf. what debian/rules does)
=> fixes +mpi build
* fix "error: Ambiguous key" error on :1.58.999 boost
(cf. https://github.com/boostorg/boost/blob/boost-1.59.0/bootstrap.sh#L357)
* 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
* Add ignore_conflicts to package activation
includes:
* with_dependency flag for do_activate
* ignore_conflicts flag for do_activate
* start of cleanup of activate cmd
* ensure that apr is picked up
* Update package.py
* add apr explicitly as dependency
* remove unnecessary newlines
* Update package.py
fixing dependencies
Modifications:
* Added zlib dependency, starting from version 3.0.0
* Added memchecker support for debugging
* Remove mpirun and similar links if slurm is selected as a scheduler
* [hypre] Add the 'headers' property plus a small tweak in the 'libs'
property.
* [hypre] Add fallbacks for searching for '.libs' in 'prefix.lib64' and
in all of 'prefix'.
* [hypre] Fix style.
* [hypre] Use find_headers instead of find + HeaderList.
* added a new package file for PHIST (Pipelined, Hybrid-parallel Iterative Solver Toolkit)
* packages/phist: fix some formatting errors (too long lines etc)
and set allowed values for option "outlev"
* packages/phist: fix some more flake8 errors
* add headers property to netlib-lapack and intel-mkl
* ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())
* added a new package file for PHIST (Pipelined, Hybrid-parallel Iterative Solver Toolkit)
* packages/phist: fix some formatting errors (too long lines etc)
and set allowed values for option "outlev"
* packages/phist: fix some more flake8 errors
* phist: use headers property to find lapacke include dir
* phist: fix flake8 error
* phist: be more specific about dependencies and update version
* phist: state trilinos minimum version when building with Tpetra kernels
* gmp: add oldish version 5.1.3 with checksum
* phist: get rid of the 'petsc+complex' variant, it can be installed by kernel_lib=petsc ^petsc+complex
* phist: new version
* phist: fix version checksum
* Revert "add headers property to netlib-lapack and intel-mkl"
This reverts commit d8cb62905ebfb2cba186fd2d736d54a88a49d089.
* Revert "ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())"
This reverts commit d406a77ed7879c124fbaf1d757d002b9f0771620.
* phist: remove unused function
* phist: reorder package file versions/variants/depends_on/rest
* phist: some minor changes requested by @adamjsteward
* Add latest version of MPFR and patches for older versions
* Fetch and checksum patches instead of storing them
* Fix bug, version attribute was being overridden
* meme: added perl-xml-parser dependency, resolved issue. still need to fix ghostscript or image-magick, conversion not working.
* meme: fixed issue with libxslt/libxml2 conflict, and added imagemagick support
* meme: removing libxslt/libxml2 dependency lines
* meme: configure args
* meme: separating configure args
* meme: removing a comment, and hoping for travis to rebuild. site seems back up.
* meme: make image-magick optional
* meme: add comment referencing PR
* meme: bah flake8
* Promote to Autotools for simplicity; broaden Intel CPU opt targeting from SSE4.2 to AVX2
* make Intel CPU opt targeting same as in ../libxc
* flake8 W291
* use canonical means to pass (ahem) the test phase, h/t @adamjstewart
* revert f25d598 (unrelated merge)
* re-merge
* make py-setuptools a run-time-only dep for py-basemap and patch python package to only apply setuptools flag for build deps
* py-qtconsole does not require setuptools
* intel-xed: new package
The Intel X86 Encoder Decoder library for encoding and decoding
x86 machine instructions.
* intel-xed: style fixes for flake8.
* intel-xed: better style fix
* intel-xed: update to version 2018.02.14, add PYTHONPATH for
building with python 3, cleanup the opt flag.
The restrict compilation option with icc causes deadlock when multithreading is used. This issue has already been reported to the Scotch development team, but for current versions it is more reliable not to use the restrict compilation option.
* libtool: actually do symlinking correctly on darwin
Version 4 of the libtool/darwin debacle:
AutotoolsPackage hardcodes libtool & libtoolize into the autoreconf
stage, so the commands `libtool` and `libtoolize` MUST be present, and
shimming in glibtoolize into AutotoolsPackage when sys.platfrom ==
'darwin' does not work.
join_path(spec['libtool'].prefix.bin, 'libtool') still shadows system
BSD libtool (in apple-cctools, see PR #7177), but this shadowing could
be okay, depending on the combination of dependent specs.
* librom: new package
* Adding unzip package.
* Removing bzip2 dependency in unzip and raising an error when on Cray.
* Fixing error.
* Using conflicts statement for Cray detection in unzip package.
* add headers property to netlib-lapack and intel-mkl
* ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())
* fix flake8 errors
* ghost: remove unnecessary query parameter
* fix flake8 errors
* ghost: make it a CudaPackage (as suggested by @davydden, thanks!)
* ghost: missing whitespace
* Fix a bug when checking for 'xl' or 'xl_r' compiler.
* Add support for parallel build - the 's', 'c', 'd', and 'z' targets
are build separately allowing parallel builds.
* When build '+shared', inject all dependencies into the link lines of
the mumps libraries.
* Run the examples only when installing with the '--test' Spack option.
It seems there has been a change in concretization that resulted in
a request for a llvm latest (5.0.1) while not satisfying the later
more precise request for a version.
Remove the first line and only rely on the last.
A build of python@3.X had the following in the logs:
```
The necessary bits to build these optional modules were not found:
_dbm _gdbm _tkinter
```
As Tkinter is already a variant, we adopt the same strategy for dbm.
This includes:
* Added latest available versions (1.11.9, 2.0.0)
* Added variants to enable graphical output from lstopo
* Enabled build of the bundled netloc package if @2.0.0:
* Added dependency from numactl if @:1.11.9
* Added a constraint to avoid using hwloc@2.0.0 with openmpi
cube's configure only recognizes qt versions with single digit version
components and breaks with qt 5.10. Patch the configure files directly
to avoid having to regenerate them.
Mscgen is a small program that parses Message Sequence Chart descriptions and
produces PNG, SVG, EPS or server side image maps (ismaps) as the output.
See http://www.mcternan.me.uk/mscgen/
This is needed when using system lua on RHEL and clones where lua
is installed in /usr/lib64. Note that the path entry for lua in
packages.yaml should specify the major/minor version of lua (since
this is used to calculate the lua lib directory)
updated hoomd-blue to latest tagged release in repo. This version also supports newer gcc6 compilers, so added constraint for older version to avoid breaking existing installs.
+ Newer versions of zoltan2 are doing test compiles that link to parmetis. If
these checks don't find `metis.h`, the check fails.
+ This small tweak ensures that the zoltan2 configure step can find `metis.h`
that is provided by spack.
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).
* [OpenMPI] Add the 'headers' property. This removes some redundant
headers from sub-directories, returned by the default '.headers'
handler.
* [OpenMPI] In the .headers property, add a fallback to search all of
prefix for the mpi.h header. Recommended by @junghans to support some
external configurations, see #7268.
* add verilator package
* try to add environment variable and include folder
* manually install existing scripts and patch out spack's CXX wrapper
* added some comments
* make flake8 happy
Adds Google's new cpu_features library.
Install was added recently, so don't take the `0.1.0` release but
the current `master` until a new version is published.
* Combined llvm and llvm-lld: removed the separate llvm-lld package
and added llvm-lld as an optional add on to the llvm package (the
way several other llvm tools are maintained e.g. lldb)
* Added more lld hashes to llvm package
* The 'CppBackend' target doesn't exist for version 3.9.0 or later
so exclude it for later versions
* Was incorrectly specifying 'sparc' as a target for the 'sparc'
architecture - needed to specify 'Sparc'
* Fix issue #7248 building llvm: don't make the LLVMDemangle target
for llvm < 4.0.0
* No longer need to patch CMake. Using CMAKE_CXX_FLAGS to include BLAS/LAPACK/MKL header files properly.
* Backport two patches to QMCPACK versions prior to 3.3.0: https://github.com/QMCPACK/qmcpack/pull/621, https://github.com/QMCPACK/qmcpack/pull/623
* Insufficient to include lapack_dir in CMAKE_CXX_FLAGS, CMAKE_C_FLAGS is also needed.
* Make patched Espresso a default variant instead of a hard dependency. This is easier on computer architectures where Espresso is hard to build.
* Fix patching with QE variant. Now using correct form of patch command.
* Add QMCPACK v3.4.0
* Backport patch to QMCPACK versions prior to 3.3.0: https://github.com/QMCPACK/qmcpack/pull/643
Yaml-cpp hasn't tagged a release in over 2 years, yet they have fixed
many things and now have the ability to use find_package in CMake.
Since we use this feature in Nalu, we require the latest yaml-cpp
until they tag a new release. I have also deprecated the now
unnecessary ENABLE_INSTALL flag.
* Added a package for the MDAnalysis toolkit.
* Adding a package for the Python virtualenvwrapper pacakge. Included
dependent virtualenv-clone and stevedore packages. Updated py-pbr with
a new version to support this.
* Added extra necessary dependencies and fixed the file download paths.
* Added a package for the MDAnalysis toolkit.
* Added a new package for pygpu, which is the python front end of the
libgpuarray. Additionally changed the dependency for theano so that
it properly picks up the pygpu library.
* Added the libcheck package. Fixed flake8 errors in py-pygpu recipe
and removed spurious dependency on cudnn for libgpuarray.
The edit phase of cbench was used to set environment variables. Though
this works, the variables set this way are not dumped to build.env.
This commit fixes the issue by setting those variables in the
`setup_environment` function.
* [SUNDIALS] Add the 'headers' and 'libs' properties, plus a couple of
small tweaks.
* [SUNDIALS] Revert incorrectly changed conflicts() directive. Fix style.
Fixes#5189
When working with non-normalized paths containing ".." on some
file systems, Spack was found to encounter a permission error when
writing to the path. This normalizes a path written by the
intel-parallel-studio package and also normalizes all paths
written by the license install hook (for all packages) to avoid
this issue for intel-parallel-studio.
Adds the first stable API release of ADIOS2, v.2.1.0.
Also adds a missing `pybind11` CMake flag for proper Python
selection (needed in both the new and previous version).
To accommodate build systems on Darwin which look for glibtool/ize,
#7060 attempted to provide glibtool/ize symlinks for libtool/ize
but accidentally created the same symlink twice. #7073 reverted this
and replaced libtool/ize with glibtool/ize on Darwin. This led to
#7163 since AutotoolsPackages depend on the presence of the 'libtool'
binary, so this returns to the approach of #7160 but makes the
correct symlinks.
XBraid installs `libbraid.a`, but the default `libs` method
implementation will search for `libxbraid`, which does not exist. This
commit fixes the behavior of the `libs` method for the `xbraid`
package by overriding package's `libs` method.
Prior to this commit, running `spack module refresh` with `gdbm`
installed throws the warning:
```console
==> Warning: Could not write module file [/Users/oxberry1/spack/share/spack/lmod/darwin-sierra-x86_64/Core/gdbm/1.14.1.lua]
==> Warning: --> global name 'spack_cc' is not defined <--
```
This warning is repeated for every `gdbm` installation in Spack.
The cause of the issue seems to be the same as in spack/spack (#6089):
using `spack_cc`, `spack_cxx`, or similar inside `configure_args`
causes the warnings to throw when module files are generated.
Moving the use of `spack_cc` into `setup_environment` seems to fix the
problem, even though it's a bit of a kludge.
Running `spack module refresh -m lmod --delete-tree -y` throws the
following warning:
```console
==> Warning: Could not write module file [/Users/oxberry1/spack/share/spack/lmod/darwin-sierra-x86_64/openblas/0.2.20-ibhtl5q/clang/5.0.1/ipopt/3.12.9.lua]
==> Warning: --> global name 'prefix' is not defined <--
```
This warning arises because the variable expansions in
`spack.modules.BaseFileWriter` occur at module/package scope. Even
though `prefix` is an argument to `install` methods in e.g.,
`MakefilePackage`, so using this argument within package methods is
legal, doing so defeats the introspection logic in
`spack.modules.BaseFileWriter`. Replacing `prefix` with `self.prefix`
resolves the problem, because the introspection logic in
`spack.modules.BaseFileWriter` can use introspection to query IPOPT's
prefix.
Following the discussion with Todd and Adam, find has been modified to
accept glob expressions. This should not affect performance as every
glob implementation I inspected has 3 cases (no wildcard, wildcard but
no directories involved, wildcard and directories involved) and uses
fnmatch underneath.
Mixins have been changed to do by default a non-recursive search (but
a recursive search can still be triggered using the recursive keyword).
Following a comment from Todd, the search path for the files listed in
`filter_compiler_wrappers` can now be narrowed. Anyhow, the function
implementation still makes use of `find`, the rationale being that we
have already seen packages that install artifacts in e.g. architecture
dependent folders. The possibility to have a relative search path might
be a good compromise between the previous approach and the one suggested
in the review.
Also: 'ignore_absent' and 'backup' keyword arguments can be optionally
forwarded to `filter_file`.
Implemented a declarative syntax for the additional behavior that can
get attached to classes. Implemented a function to filter compiler
wrappers that uses the mechanism above.
* Remove variants disabling blas and lapack for py-numpy, issues
building these have been resolved
* For CMake greater than 3.10, FindMPI changed, so use
MPIEXE_EXECUTABLE instead of MPIEXE for 3.10 and newer
fixes#7128
Before this PR packages that were indirectly dependent on python might
have failed due to inconsistency between the python found in the
environment and the standard libraries set in PYTHONHOME
This adds a static version of hpgmg (up to now only the latest commit
from the master branch was available). This also adds a debug variant
and sets optimization flags for ~debug when the compiler is gcc,
intel, or clang
Adds the latest release of libSplash (1.7.0) and newly learned
CMake flags for explicit dependency control.
Modifies HDF5 dependency: non-MPI splash does (and did) never run
with a parallel HDF5, due to it's internal cross-dependencies on
MPI.
* libdwarf: fix linker flags
* libdwarf: fix header install names
* libdwarf: add zlib dependency
Prior to this commit, libdwarf was linked to the system zlib. This
commit links it to spack-installed zlib.
* libdwarf: fix dynamic library suffix for Darwin
* Adding support for the Accelerate library on OS X
* Fixed guard on variable and added another depends_on statement to make sure that openblas gets selected even when openmp_blas variant is not turned on.
* Added a package for the MDAnalysis toolkit.
* Added some flags to fix the build RPATHs and OpenMP for LBANN on OS X.
* Fixed Hydrogen branch of Elemental to find OpenMP on OS X.
* Cleaned up JUnit report generation on install
The generation of a JUnit report was previously part of the install
command. This commit factors the logic into its own module, and uses
a template for the generation of the report.
It also improves report generation, that now can deal with multiple
specs installed at once. Finally, extending the list of supported
formats is much easier than before, as it entails just writing a
new template.
* Polished report generation + added tests for failures and errors
The generation of a JUnit report has been polished, so that the
stacktrace is correctly displayed with Jenkins JUnit plugin. Standard
error is still not used.
Added unit tests to cover for installation failures and installation
errors.
* libtool: fix linking of libtool on darwin
* binutils, libtool: fix conflicts w/ BSD tools, v2
Fix namespace conflicts with BSD tools in a more elegant fashion,
using a program prefix, similar to Homebrew.
* Tell R's configure about tcltk config
Add configure arguments that specify the location of
the tcl and tk config scripts.
Fixes#7072
* Flake8 cleanup
Looking at build logs, it seems that prior to this commit bzip2 was
using 'cc', and relying on the PATH to be set correctly to find Spack
wrappers. This commit improves the robustness of the recipe, by using
the absolute path of the wrapper.
On Darwin and other BSD systems, the system 'libtool' and 'libtoolize'
are BSD libtool and libtoolize, respectively. Some build systems
require the GNU versions of these commands, so BSD package systems
tend to name the GNU versions 'glibtool' and 'glibtoolize',
respectively, to avoid namespace collisions.
A problem with the current libtool package is that it installs the GNU
libtool commands as 'libtool' and 'libtoolize', respectively, but
build systems on BSD platforms will attempt to run 'glibtool' and
'glibtoolize'. The expedient solution to this problem is to symlink
'libtool' to 'glibtool' and 'libtoolize' to 'glibtoolize', because
attempting to patch the detection logic one build system at a time
seems impractical.
* Added new link line flag
* Refactored some of the common components out of the different
version's build commands. Also corrected the when commands to
properly capture non-numeric names such as local.
* Added support to the Elemental package for the Hydrogen branch.
* Turning off default Qt support. Restricting Qt version to <= 4.9 else geant4 won't build
* Making vecgeom optional
* Differentiating between cxx11 and cxx14 support
* Making vecgeom optional. Part 2. forgot to move usolids option
* Adding explicit CXX11 and CXX14 support
* Adding more clhep version to support newer GEANT4 versions
* Adding GEANT4 versions 10.03.p03 and 10.04
* Checkpoint. Adding opengl and x11 variant. Lead up to more changes to enable X11 support
* Adding dependency on fixesproto for newer versions
* Making the X11 dependent pieces work without requiring X11 on the system
* Adding motif
This provides options for hardware and software rendering with the
gl API and updates the vtk package to make use of those options:
* Create new "gl" virtual package, provided by mesa
* Add external-only "opengl" package, which represents a system
install that provides gl
* For vtk: prefer system gl implementation by default to get speed
up from hardware rendering. When software rendering is specifically
requested (+osmesa), try to use the llvmpipe approach, as it is
much faster.
* Make qt dependency optional for vtk
* Add basic support for VTK on osx
* qt: Depend on virtual gl package, rather than mesa impl
* visit: add version 2.12.3
* visit: add version 2.13.0
* visit: enable building with hdf5+mpi
* visit: add qwt dependency
Building VisIt requires Qwt, which is not part of Qt. Prior to this
commit, this dependency was not included in the VisIt spack package,
resulting in a configure-time bug with an error message indicating a
missing Qwt dependency.
This commit fixes this bug by adding Qwt dependency information.
Update the qt4 CoreWLAN patch to apply to macOS/OS X 10.12 and 10.13,
which both still use the CoreWLAN framework in their SDKs (although
it's apparently deprecated?!). Without this patch update, `spack
install qt@4.8.6` fails on macOS/OS X 10.12 because the linker
cannot find headers from the CoreWLAN framework.
Apple removed support for Objective-C garbage collection in binaries
in XCode 5.1, but VTK 6.1.0 and earlier set flags for garbage
collection, resulting in a compile-time bug when compiling VTK using
any recent version of XCode (i.e., Apple Clang).
This commit fixes this bug by removing the garbage collection flags
via setting the variable `VTK_REQUIRED_OBJCXX_FLAGS` to the empty
string. This variable has the same value (i.e., the empty string) in
the root-level CMakeLists.txt file for VTK 6.2.0 and later.
VTK 6.1.0 and earlier do not use paths stored in `NETCDF_CXX_ROOT` to
detect the presence of NetCDF C++ headers and libraries. Consequently,
VTK 6.1.0 does not build.
This commit fixes this bug by setting the advanced variables
`NETCDF_CXX_INCLUDE_DIR` and `NETCDF_CXX_LIBRARY` at the command line
to specify the directory containing headers and the full library path
for the NetCDF C++ bindings.
The flag_handlers method was being set as a bound method, but when
reset in the package.py file it was being set as an unbound method
(all python2 issues). This gets the underlying function information,
which is the same in either case.
The bug was uncovered for parmetis in #6858. This is a partial fix.
Included are changes to the parmetis package.py file to make use of
flag_handlers.
This makes use of the new flag_handler logic from 28d8784a to set
compiler flags for ipopt by passing them as arguments to the build
system rather than injecting them into the compiler wrappers. This
avoids conflicts between flags that are chosen by the build system
and flags that are set by the user.
* ruby: fix +openssl & +readline variants
Fix "unqualified variable spec['openssl']" error in the ruby package
that arises when trying to install the `+openssl` variant by
referencing the `spec` field in the `Ruby` class. A similar error
arises when trying to install the `+readline` variant; this error is
also fixed by this patch.
* ruby: make +openssl variant default to on
Ruby's gem command will fetch gems from HTTPS resources by default
(e.g., gem install bundler). Without openssl, request to fetch gems
bounce back with the error
```
ERROR: While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
```
Without the ability to install gems -- required for some spack
packages -- the ruby installation has limited utility for many users.
* ruby: update rubygems ssl cert to fix ssl errors
The SSL certificate bundled with Ruby 2.2.0 is outdated, so e.g., `gem
install erubis` will fail with an SSL certificate error. This commit
installs the updated SSL certificate to the proper directory so that
gems can be downloaded and installed from RubyGems.
The url in graphviz has been fixed and its version has been
updated to the latest available (2.40.1). Added variants for
expat, qt, gtk+ and ghostscript.
* py-fparser: parser for Fortran 77..2003 code
* py-fparser: guard against external pytest.ini
* py-fparser: define 'develop' version as latest master branch
* py-fparser: fetch tagged versions from git repo
* py-fparser: add latest release 0.0.6
* py-fparser: whitespace adjustments for flake8
* py-fparser: inherit python dependency from PythonPackage
* py-fparser: rely on spack to resolve sub-dependencies
* py-fparser: try type='test' for py-pytest
* py-fparser: fetch release tarballs instead of git commits
* py-fparser: test deptype is available, remove comment
* py-fparser: limit versions that use py-six
* py-fparser: version ranges do not need a lower bound
* qt: move licence acceptance from qt3krell.patch to qt3accept.patch
* qt: ensure that ptrdiff_t is defined for qt@3.3.8b
* qt: disable webglplugin for qt@5.10~opengl
* qt: depend on libxext (for qt@3 and @4)
* qt: avoid X dependencies on darwin platforms
* Revert "qt: avoid X dependencies on darwin platforms"
This reverts commit 05ce08de94be1e02d7e2f2dae0c1ae59baa3f65a.
* qt: limit range of versions depending on libxext
See #6794
This fixes cases where test-only dependencies were omitted from
consideration when modifying the environment at build time. This
includes an update to the python package definition to add
testing-related python extensions to its specialized environment
setup.
* coinhsl: add version 2014.01.10 (stable)
* coinhsl: make 2014.01.10 preferred version
Make Harwell Subroutines Library for IPOPT version 2014.01.10 the
preferred version because it is the latest stable version released.
* coinhsl: add option to link w/ BLAS libraries
Building emacs on darwin throws an error when trying to build an Emacs
app in the nextstep/Emacs.app path of the build tree. For now, disable
building this app.
It's possible to enable building the app also; Homebrew offers options
to this effect, and also adds Mac-specific options for starting the
emacs daemon. However, for the sake of simplicity and getting a
workable up-to-date emacs installation on my machine as quickly as
possible, this commit focuses on a minimal viable modification.
* Add a new package: unblur.
* Add a new package: unblur.
* Add a new package: unblur.
* Add a new package: unblur.
Conflicts:
var/spack/repos/builtin/packages/unblur/package.py
* Add a new package: unblur.
* Fix git on ubuntu, first cut
Spack needs to pass information about where the linker
can find `libintl`. We're currently using `LDFLAGS` to do so.
The `LDFLAGS` info is pasted into the command line upstream
of the a file (`libgit.a`) that includes unresolved symbols that
need that library. This fails on Ubuntu, although it seems to
work on CentOS (see #6841).
This change allows git to build on a Ubuntu 16.04.3 droplet.
TODO: test on other platforms...
* Add a bit of useful commentary
* Upgrade recipe for parmetis to be a CMakePackage
+ Eliminate `install` method (use the one from CMakePackage).
+ Move configure options to new method `cmake_args`
+ Move special install instructions for DarwinOS to a `run_after` method.
* Fix run_after section; Remove variant +debug.
Control the find_package of the PNG variant explicitly.
This avoids picking up an "external" PNGwriter install in
case `~png` is picked by changing the default "AUTO" search
to explicit "ON" (required) of "OFF" (ignore if exists).
* py-psyclone: Code generation for the PSyKAl framework from the GungHo project
* py-psyclone: add installation tests based on py.test
* py-psyclone: define 'develop' version as latest master branch
* py-psyclone: extract tagged version 1.5.1 from git repo
* py-psyclone: whitespace adjustments for flake8
* py-psyclone: use compatible versions of py-fparser
* py-psyclone: use type='test' for selected dependencies
* Updating OpenFAST to use explicit lapack and blas libraries from Spack.
* Simplifying openfast blas lib logic and fixes flake8 errors.
* Changing order of blas and lapack libs in openfast package.
* py-pybedtools: Create new package
* py-pybedtools: add py-six requirement
* py-pybedtools: remove py-cython dependency for release version
* py-pybedtools: include minimum version of py-pysam
* Provide build_type variant for Metis.
+ Ideally, we would make Metis a CMakePackage, but `metis@:5` doesn't use CMake.
+ For now, provide a `build_type=` variant similar what is found in
CMakePackage.
+ There is a potential for duplicate specification of `CMAKE_BUILD_TYPE` if both
variants `+debug` and `build_type=` are specified. I am looking for advice on
how this can be resolved.
* Update metis recipe in response to flake8 and user comments.
+ Wrap comment lines that used more than 80 columns.
+ Change `+debug` variant to avoid potential for multiple `-DCMAKE_BUID_TYPE=`
arguments provided to cmake. Specifying this variant no longer appends this
configure option. However, if `+debug` is specified, require
`build_type=Debug` to maintain expected behavior.
* For metis, remove +debug variant; use build_type= instead.
+ Update recipe for metis@4 to extract `build_type=` values and set `OPTFLAGS`
accordingly.
+ For metis@5:, the behavior from the previously supported variant `+debug` can
be obtained with the options `+gdb build_type=Debug`
* Conflicts added for metis@4 when build_type != Release|Debug.
* Use spack function conflicts instead of 'raise InstallError'.
* Create a symbolic link for MotionCor2.
* Create a symbolic link for MotionCor2.
* Create a symbolic link for MotionCor2.
* Create a symbolic link for MotionCor2.
* Adding NEURON package widely used in computational neuroscience community
* flake8 fixes
* Add rx3d variant
* Addressed review comments from Adam
* Addressed 2nd review comments
* Added check for +mpi on bg-q
* Filter spack compiler wrappers in NEURON scripts
Add gcc march=native flag to make front-end build robust
* Make develop as preferred version due to bug in long filename handlings in <= v7.4
* Avoid use of gcc in cross compiling environment
Use arch specific options on cray and bg-q arch
* Simplify cross compiling build:
- v7.5 added and no longer need develop as preferred version
- legacy cray related options removed
- cross compiling args reduced
- python arguments reduced as neuron finds proper libraries
* Simplify bg-q configurations
* Cleanup and unify arch options
* Make sure to add commonly available packages as dependency
* Arch path added to dependent_environment as nrniv needed at runtime
* Support for Power 8 architecture
* Fix python3 on OS X
* flake8 fix
* remove unnecessary conflcist directives
* Added a package for the MDAnalysis toolkit.
* Added a patch file to get rid of compiler warnings with intel compiler
and inlining. Added checksum values for other versions of protobuf.
* Added dependency on Intel compiler for intel patch
* added variant examples to paraview package.py
* qt: added libxt dependency
* add variant to use external hdf5, this is needed when compiling with gcc@4.8.5
* paraview: added python dependecies to PYTHONPATH
* Start adding Nek5000 package
* Add tools to install: genmap, prenek, postnek
* Address comments by @davydden
* Use install_tree (thanks @junghans) and polish
* Update url
* Fix flake formatting errors
* Change F77 and CC compilers
Apparently spack compilers can't be called outside spack and we
have an underscore test in our Nek5000/core/makenek.inc file which
calls F77 compiler.
* Add support for visit and profiling options
* Fix a typo
* Fix a typo
* Remove the C check
* Add visit variant
* Update the install of int_tp tool
* Let MAXNEL to be set during installation
* Added magma package
* Incorporated Serban's change
* Remove deleted files
* argparse.py
* Sync forked Spack repo in github
* Add spectrum-mpi lib path to LD_LIBRAY_PATH in spack_env.
As a result of supporting alternate installation directories, spectrum-mpi does
not use rpath anymore, so we need to set LD_LIBRARY_PATH in spack_env to allow
MPI programs to run during dependent package configuration.
* Fix flake8 error (blank line at EOF)
* xios: XML-IO-SERVER library for IO management of climate models
* xios: install to prefix directory
* xios: add a test case
* xios: define versions to use cache and mirror directories
* xios: use proper svn URL for version 910
* xios: package url must be defined, otherwise uninstall fails
* xios: add trunk version to allow building latest revision
* xios: enable parallel build
* xios: allow installation with mpif90 compiler wrappers
* xios: use mpi variants of dependencies
* xios: allow user to specify MPI launcher via MPIRUN environment variable
* xios: prefer spack versions of blitz and boost (needed for gcc@7)
* xios: enable builds with clang+gfortran on OSX
* xios: use numeric versions for releases, @develop for trunk
* xios: different patches required for @1.0 and @develop
* xios: patch function for clang works across revisions
* xios: link blitz library
* xios: workaround bug 17782 in llvm
* xios: whitespace adjustments for flake8
* xios: avoid bare except clause
* xios: netcdf-fortran inherits ^netcdf+mpi from xios dependencies
* combine all patches for 1612 into a single file, with additional
comments to explain the rational.
* Add kahip decomposition variant.
* Add support for ARM64 architecture.
* filter instead of patching etc/config.*/settings. This eliminates
patch files for 1706, perhaps for the future as well.
* URLs at or before version 1612 have a different structure, so
provide a url_for_version implementation to handle this
* singularity - added master branch as this has latest fixes - 2.4 does not compile on centos 6 without use of this branch
* renamed to develop
* added master branch properly
* add OctavePackage
1. remove import CudaPackage which is not needed anymore
2. mention CudaPackage and OctavePackage in packaging guide
3. adjust OctavePackageTemplate
4. add clue file for Octave build
5. sanity check on self.prefix
* use setup_environment
* esmf: put .mod files in the spack compiler search path
* esmf: allow building with Cray mpi
* esmf: create run-path dependent libraries on osx
* esmf: link fortran interface libraries when building with mpich
* Fix detection of blas and lapack: provide libraries/includes as
arguments to CMake rather than using CMake's auto-detection.
This includes a patch to QMCPACK's CMake files to refer to
Spack-built blas/lapack implementations. This also includes
special-case logic for the intel-mkl implementation of blas/lapack
* Break up unit tests and short tests. Only hard failure if the unit
tests fail, if short tests fail issue a warning only.
* Add QMCPACK 3.3.0, get rid of 3.0.0
- define MPICH_SKIP_MPICXX, link libmpich instead of libmpi
(as per disussion in PR #4990)
ENH: more flexible editing/patching of openfoam env files
CONFIG: comment out requirement for openmpi+thread_multiple
- was originally slated for the 1712 release and beyond, but there are
reportedly unstable version/network combinations.
Leave as comment for future reference, since it may be arise again.
STYLE: renamed openfoam-site.patch as 1706-site.patch (and reformatted)
- to preserve against impending changes in the layout of
config.{csh,sh}/settings
* fix post install method for py3 in mercurial
* Update package.py
* Update package.py
* use print_str instead of manual print detection
* Update package.py
* use only depends_on
* Update package.py
* Update package.py
State py3 compatibility for @4.3: according to setup.py from the 4.3.tar.gz from pypi
Add preferred version 2.0.3. Added beta version. Added conflict with
gcc versions >= 5 when building with cuda@8 (which is currently the
only supported cuda version). Added cuda architecture variant. Added
comment about current lack of cuda@9 support.
Fixes#6522
Patch psxevars.sh and psxevars.csh only when year > 2016.
pxevars.csh does not exist for versions before 2017. psxevars.sh
does not appear to require this patch for versions before 2017.
Fixes#6521.
Bazel's build system filters environment variables, including those
set by Spack for use by its compiler wrapper. This updates the patch
to include the SPACK_DEBUG_LOG_ID variable added in #5837.
* optional path to use spacks py-site-pkgs, install host-cfg for provenance
* add more comments and address review requests
* only use st-pkgs-dir when +python
* ascent does not need doxygen
* capture mpiexec if it exists
* added missing import
* flake8 fix
* default adios variant to False
* ascent develop now reqs conduit master
* optional path to use spacks py-site-pkgs, install host-cfg for provenance
* add more comments and address review requests
* only use st-pkgs-dir when +python
* ascent does not need doxygen
* capture mpiexec if it exists
* added missing import
* flake8 fix
* default adios variant to False
* ascent develop now reqs conduit master
* conduit: use hdf5 1.8 for wider output compat
* Add: Py-Plotly
The requirements of py-plotlit are rather strict fixed to specific
versions, so I did not add an "upper versions" `:` to the constrains.
See
https://github.com/plotly/plotly.py/blob/master/requirements.txt
* Py-Requests, Py-Six, Py-Pytz: Older Versions
Add two older versions of requests, pytz and six for plotly.
- depends on GTK+ with X enabled
(btw, non-X backends are deprecated/removed in GTK+)
- patch for 3.0.1-3.0.2: missing include caused multiple
`error: call of overloaded ‘abs(XYPOSITION)’ is ambiguous`
(seen in GCC 6.3.0); fixed in 3.0.3+
* Update CGNS to be able to be used in Trilinos.
* Updating Trilinos to be able to use CGNS.
* Fixing wrong cmake defines in trilinos for enabling cgns and cleaning up cgns package.
* Changing cgns parallel variant to mpi. Removing explicit dependence on parallel-netcdf in trilinos.
Add additional transform libraries to ADIOS.
Also modifies existing transforms to the versions they were
introduced (otherwise this was resulting in unknown configure flags).
* xsdk: Added MFEM rc package.
* xsdk: add version entry for xsdk-0.3.0-rc1 - and set it as preferred version
* xsdk: remove 'xsdk' from version - recommended by Todd.
Now the usage is:
'spack install xsdk@0.3.0-rc1'
instead of the previous usage:
'spack install xsdk@xsdk-0.2.0'
* xsdk: add petsc@3.8.0 as a dependency for xsdk-0.3.0-rc1
* mfem: fix dependency to use the corrected xsdk version
* Updated the mfem version tags.
* mfem: fix merge
* fix flake8 warning
* Modified xSDK scripts
* fixing the default package.yaml
* fix bad revert
* revert changes to superlu-dist so that the 5.2.1 update can be merged
* update xsdk to use superlu-dist-5.2.1
* update alquimia for xsdk
* fix whitespace
* update hypre for xsdk
* update sundials for xsdk
* update sundials for xsdk
* Fix checking for MKL and extend range of GCC versions
* pflotran: update to release branch
* plasma: fix spec -> self.spec
* Changes to enable mfem hooks into hypre, superlu-dist, and petsc. Sundials hooks may come in the future.
* adding plasma with comment
* Bumped the version of mfem up to handle integration with sundials3.0.0. Also enabled hypre in sundials.
* Turn on the plasma package definition for testing
* Fix conflict declaration to obey ordering rules
* xsdk: udate superlu-dist dependency to v5.2.2
* plasma: change gcc dependency to workarround potential spack bug #5778
* trilinos: update hdf5 dependency to use 'hdf5+hl'
Without this change - I get the following error [triggered by 161dca6d5c9810f808 changes]
$ ./bin/spack install trilinos+hdf5
==> Error: An unsatisfiable variant constraint has been detected for spec:
hdf5@1.10.1%gcc@7~cxx~debug~fortran~hl+mpi+pic+shared~szip~threadsafe arch=linux-fedora27-x86_64
while trying to concretize the partial spec:
netcdf+mpi
^m4
^mpich@3.3a2%gcc@7 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-fedora27-x86_64
^zlib@1.2.11%gcc@7+optimize+pic+shared arch=linux-fedora27-x86_64
netcdf requires hdf5 variant +hl, but spec asked for ~hl
* plasma: add in -lm dependency per #6046
* update sundials version to 3.0.0
* Add fixes to support Netlib LAPACK
* mfem does not use cmake for builds [anymore] - so remove code corresponding to this dependency.
This enables mfem build on OSX [with xcode/clang compilers]
* mfem: update to v3.3.2-rc4
* add patch for building sundials on mac
* xsdk: enable plasma for gcc-4.9+ - same as what plasma/package.py does.
* magma: Fix for cuda-9.0 as it does not support sm20
nvcc fatal : Unsupported gpu architecture 'compute_20'
* add in code for 'spack install xsdk+cuda' - which installs magma
* fix flake8 warning
* fix flake8 warnings
* Updated to the latest MFEM RC.
* alquimia: fix to use petsc-3.8.0+ versions
* petsc: update to version 3.8.1
* petsc: add in conflict between petsc-3.8.0 & mkl
* xsdk: update petsc to 3.8.1 to get MKL build fix
* petsc: fix superlu_dist dependency
* petsc: when hdf5 depends on zlib - petsc+hdf5 should also be configured with zlib
* petsc: fix dependency [of zlib to be on hdf5 - and not on petsc]
* petsc: fix pkgconfig error - with incorrect library link order that can break mfem examples with static build
* petsc: use the fact that hdf5/package.py has a hard dependency on zlib [so no need to check for this dependency in code]
recommended-by: @davydden
* petsc: change hdf5 dependency to 'hdf5+hl' as petsc configure is looing for -lhdf5_hl
https://github.com/spack/spack/issues/5846
* plasma: also detect -lgfortran
* update sundials version to 3.1.0
* alquimia: xsdk-0.3.0-rc -> xsdk-0.3.0
* petsc: update to version 3.8.2
Includes pkgconfig fix [for mfem static build failure]
* Revert "petsc: fix pkgconfig error - with incorrect library link order that can break mfem examples with static build"
This reverts commit d1afa8c20d4313fdc42a27e5380573b035b32998.
* xsdk: update to use petsc-3.8.2
* Fixed a problem with MFEM trying to use mpicxx instead of the spack defined compiler.
* Minor changes to the mfem build and pointing at mfem's release branch that is currently undergoing internal testing.
* Enabling shared build for Plasma
* plasma: do not look for libgfortran on cray - spack finds the wrong one from the frontend
'-L/usr/lib64/gcc/x86_64-suse-linux/4.3 -L/usr/lib64 -lgfortran'
* Some changes to the mfem package that are in the process of being pulled into spack/develop.
* xsdk: switch from 0.3.0-rc1 to 0.3.0
* fix flake8 warnings
* plasma: extract plasma changes from xsdk-0.3.0
* plasma: cleanup per review
- netlib-lapack: add support for spec['lapack:c'].libs, spec['blas:c'].libs
- add getblaslapacklibs() to eliminate duplicate code in edit() and build_targets()
- eliminate string manipulation of ld_flags
- remove gfortran check (will check later)
- remove build() (will check later)
* netlib-lapack: fix tuple per review
* netlib-lapack: use spec[lapack:c,fortran]
* Adding version 2.4.3 to ViennaRNA
* Replaced tab indent with spaces
Flake8 error correction
* no swig for viennarna v2.4.3 only
* correcting version/argument conditional syntax error
libtool is also needed for linking, otherwise downstream
dependencies such as clfft will fail linking against pocl's
libOpenCL.so with errors such as:
```
>> 182 /usr/bin/ld: warning: libltdl.so.7, needed by /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so, not found (try using -rpath or -rpath-link)
>> 183 /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlinit'
>> 184 /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlerror'
>> 185 /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlopen'
>> 186 /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlsym'
>> 187 collect2: error: ld returned 1 exit status
```
* py-petsc4py: Update version to 3.8.0 and add dependencies
- Added explicit dependency on python and numpy
* Kept old version - and corrected minimal python version
* Update to 3.8.1
* add ascent package and and deps
* proper use of site_packages_dir prop
* flake8
* add maitain, small updates
* flake8
* flake8
* fixs for docstrings for sphinx
* petsc: when hdf5 depends on zlib - petsc+hdf5 should also be configured with zlib
* petsc: fix dependency [of zlib to be on hdf5 - and not on petsc]
* petsc: use the fact that hdf5/package.py has a hard dependency on zlib [so no need to check for this dependency in code]
recommended-by: @davydden
* petsc: change hdf5 dependency to 'hdf5+hl' as petsc configure is looing for -lhdf5_hl
https://github.com/spack/spack/issues/5846
* Added missing deps to libffs
* SOSflow spack package pointing to sos_flow feature/spack branch
* Using tag for spack build
* Change url to spack/spack
nghttp2 depends on python, and requires the install directory to exist,
and contain the python module directory which it will eventually
install the python modules into.
* trilinos: update hdf5 dependency to use 'hdf5+hl'
Without this change - I get the following error [triggered by 161dca6d5c9810f808 changes]
$ ./bin/spack install trilinos+hdf5
==> Error: An unsatisfiable variant constraint has been detected for spec:
hdf5@1.10.1%gcc@7~cxx~debug~fortran~hl+mpi+pic+shared~szip~threadsafe arch=linux-fedora27-x86_64
while trying to concretize the partial spec:
netcdf+mpi
^m4
^mpich@3.3a2%gcc@7 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-fedora27-x86_64
^zlib@1.2.11%gcc@7+optimize+pic+shared arch=linux-fedora27-x86_64
netcdf requires hdf5 variant +hl, but spec asked for ~hl
* fix flake8 warning
* added relion v 2.1
* relion 2.1 - misssed comma
* relion now pulling from master branch - removed 2.03 - added cuda 8 as dependency given 9 does not yet work with relion per https://github.com/3dem/relion/issues/296
* r-igraph: find old packages in the archive
Fixes#6104.
* r-irlba: find old packages in the archive
Fixes#6101.
* r-lazyeval: find old packages in the archive
Fixes#6102.
* packages: set list_url for all packages hosted on CRAN
* packages: consistently use the CRAN archive URLs
Aspell compiles in the paths it looks for rather than looking relative
to its binary location. There are also no environment variables to
redirect it other than changing the path to the configuration file it
looks at.
- hdf5's +hl variant is required because the build uses libhdf5_hl.
- sz is only compatible up to version 1.4.10 because the library has
been renamed to libSZ in 1.4.11.
* Fixed the datatype flag in the LBANN package.
Fixed where the datatype flag should be set.
* Added variant to OpenCV to disable building DNN support
* Fixed a bug in how the elemental package tries to find its Fortran
library. The current method does not work with Intel compilers.
* Added necessary paths for cuDNN and CUB.
* Addressed flake8 issues in Elemental package.
* Fixed several flake8 errors. Added variant to build with or without
support for arbitrary-precision floating point arithmetic.
* Added the proper CMake flag when MPFR support is disabled.
* Fixed a bug in how the cudnn path was being set when there was no
cudnn requested. Also requested that OpenCV is built without eigen
support.
* Fixed another bug where a dependency may not be there and thus should
not be always checked.
* Added a package for the MDAnalysis toolkit.
* Changed dependency for the eigen library to not include support for
multiple-precision (arbitrary-precision) floating point arithmetic,
since OpenCV does not support these data types.
* Fixed incorrect implementation
* dockbook: remove update to dependent environment
Remove override of setup_dependent_environment in both docbook-xml
and docbook-xsl, which seems to generate a warning from spack about
"Suspicious requests to set or unset 'XML_CATLOG_FILES' found."
* flux: update version/dependencies to 0.8.0
Update flux-core to v0.8.0. Clean up dependencies and remove unneeded
extra invocation of ./autogen.sh when building from @master.
* flux: modify environment for Lua tests
Modify Spack environment to add `./?.lua` to LUA_PATH so that
fluxometer.lua can be found by tests during `make check` run
from `spack install --tests all flux`
* flux: fix broken flux version when on master
When building @master with spack, the flux version test from
`make check` fails because spack is using a shallow clone. Add
a setup section for @master that calls git pull --depth=50 --tags
to pull down tags and (hopefully) enough information for git-describe
to work properly.
A recent update (#5907) to htslib added a different URL for an old
version of htslib.
Now the package is using that URL as the pattern for the newer
versions too.
I have a vague memory of running into this before, that it's a known
issue.
This fixes it by adding an explicit `url_for_version` routine.
* Add bowtie2@2.3.0, fix dependencies and sbangs
Add support for bowtie2@2.3.0
- digest
- a patch for 2.3.0 that parallels the existing package. Truth be
told it builds (for me) without this, but I'm assuming that they're
there for a reason...).
- tune up dependencies
- need tbb
- don't need readline or zlib
Several things were installed with sbang's that use `/usr/bin/env` to
fine perl or python. Fix the dependency and clean up the sbang lines.
* Fix python exe name, avoid path banging
I'd cut and pasted the python bit from the perl bit and missed one
reference to perl.
While I'm there, use the cleaner `spec['perl'].command` instead of
banging together the path from its bits.
* Fix up the "when" constraints on the dependencies
Get the edge cases right.
- 2.2.5 doesn't need tbb, 2.3.[01] do.
- 2.3.1 needs readline and zlib.
The go team released 1.9.2 which includes fixes for some things
that 1.9.1 broke:
> ... include fixes to the compiler, linker, runtime, documentation, go command, and the crypto/x509, database/sql, log, and net/smtp packages. They include a fix to a bug introduced in Go 1.9.1 and Go 1.8.4 that broke "go get" of non-Git repositories under certain conditions.
* Exodus: skip the -G "Unix Makefiles" part
The problem is that spack passes -G "Unix Makefiles" into cmake, which normally
works. But in the Exodus package, it is being passed into a bash wrapper
script. In there, the $@ then loses the information about "Unix Makefiles"
being just one argument, and in effect passes -G Unix Makefiles into the cmake
(without quotes), and so cmake only sees -G Unix, and then fails. This is a
known problem with bash with no simple solutions. As a workaround, this patch
skips the first two arguments, i.e., -G and "Unix Makefiles". This makes it
work.
Fixes#5895.
* Port exodusii to cmake
The cmake options were taken from the cmake-exodus bash script and ported to
spack directly.
* Use variant forwarding to forward the 'mpi'
Now instead of
spack install exodusii~mpi^netcdf~mpi^hdf5~mpi
one can just use
spack install exodusii~mpi
* sw4lite: fix build errors and add variants
* sw4lite: change linking against blas and lapack
* change order of blas and lapack
* satisfy flake8 requirements
* Update package.py
* Add the custom paraview lib directory structure to the library paths in the paraview module file.
* Fixing flake8 issues.
* Checking if lib64 exists for paraview module file generation, else use lib.
* Fixing more flake8 problems I introduced.
Since LLVM 3.9 Clang can use the libc++ library by default using the
CLANG_DEFAULT_CXX_STDLIB cmake configuration variable, without having to
specify the -stdlib=libc++ option on the clang++ command line.
This commit makes clang++ use libc++ by default for LLVM 3.9 and later if the
libcxx variant is on.
Fixes#5942.
Chasing a performance regression has lead me to this change, going from default optimization gives a significant performance win. The sweet spot for zlib is apparently `-O2`, both `-Ofast` and `-O3` are slightly worse (regression is about 3% compared with `-O2) in my testing.
Happy to share my methodology with people so we can benchmark on a wider variety of systems.
* Add package for scalpel@0.5.3
Scalpel's a bit of a mess, it expects it's users to just unpack the
tarball, build it in the resulting directory and install that
directory onto their PATH. My install step recapitulates this into
prefix.bin. The alternative was rewiring their scripts (perl), which
use `FindBin` and expect things to be located in the same dir that the
script itself is.
Sigh.
Lightly tested on CentOS 7.
* Flake8 cleanup
* Additional flake8 cleanup
* Added procedure to edit sbangs of the parallel perl scripts.
* Specify the types of perl dependency
Adding ", type=('build', 'run')" to the dependency declaration to clarify when and how perl is required
* flake8 cleanup
The problem was that the configure script was not using spack's compiler
wrappers. We now pass the proper compiler wrapper using the CC argument
explicitly.
Fixes#5892.
* r-a4: Add r dependency and update url.
* r-a4base: Add r dependency and update url.
* r-a4classif: update url and add r dependency.
* r-a4core: Update url and add r dependency.
* r-a4preproc: Update url and add r dependency.
* r-a4reporting: Update url and add r dependency.
* r-abaenrichment: Update url and add r dependency.
* r-absseq: Update url and add r dependency.
* r-acgh: Update url and add r dependency.
* r-acme: Update url and add r dependency.
* r-adsplit: Update url and add r dependency.
* r-affxparser: Update url and add r dependency.
* r-affycomp: Update url and add r dependency.
* r-affycompatible: Update url and add r dependency.
* r-affycontam: Update url and add r dependency.
* r-annaffy: Update url and add r dependency.
* r-annotate: Update url and add r dependency.
* r-annotate: Update url and add r dependency.
* r-annotationdbi: Update url and add r dependency.
* r-genefilter: Update url and add r dependency.
* r-mlinterfaces: Update url and add r dependency.
* r-limma: Update url and add r dependency.
* r-multtest: Update url and add r dependency.
* r-a4classif: Correct format.
* r-affycomp: Correct error.
- When you don't use wildcards, flake8 will find places where you used an
undefined name.
- This commit has all the bugfixes resulting from this static check.
Jansson builds only a static library by default, which is probably
not what most users want. Add Cmake args required to build a shared
library and enable those via a default 'shared' variant of the
package.
* new package: hpgmg
* removed build and changed extend() to append()
* changes based on comments
* pep8 compliant
* addressed rest of comments
* trigger checks
* changed from fe_fv to two boolean variants
* fixed compilation issues
* cleared up ambiguities in solver variants
* removed +mpi condition
* changes based on review
#5776 cleaned up the way the the current working directory is
managed (less magic state).
bcl2fastq is packaged like a russian doll, rather than an archive file
that contains the source, there's a zip file that contains a tar.gz
file that contains the source. The package definition has a bit of
extra code that unpacks the inner tarball.
That extra bit of code now needs to explicitly arrange to be in the
correct directory before it does its work.
* py-mpi4py: Add develop version and dependencies
- Add cython dependency for develop version
- Add explicit python dependency
* py-mpi4py: Specify 2.0.1 instead of develop for conditional dep
Perl installs a couple of config files that need to be munged so that
they don't refer to the spack compiler. These files are installed
read-only. Behind the scenes 'filter_file' moves its file to a safe
place, and tries to create a working file that is both O_WRONLY and
has the perms of the original file. On an NFSv4 filesystem, the
combination of 'r--r--r--' and O_WRONLY throws a permissions error.
This commit adds a simple context manager that temporarily makes the
files writable.
* Add a new +clanglibcpp option for Boost
Currently, the compile of boost with clang will use the stdlibc++. This patch adds an optional flag to use clangs included libc++ instead.
* Linting
Fix long lines and white space errors
- Tests use a session-scoped mock stage directory so as not to interfere
with the real install.
- Every test is forced to clean up after itself with an additional check.
We now automatically assert that no new files have been added to
`spack.stage_path` during each test.
- This means that tests that fail installs now need to clean up their
stages, but in all other cases the check is useful.
1.64 had issues serialization (make_array and others) when built with
+mpi+python. It appears that those issues are fixed in 1.65.1
so we can remove preferred tag from 1.63.