summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-10-11Use python platform.system for system ID (#1499)Mario Melara2-8/+3
* Rebase and merging using platform.system Rebasing and merging using platform.system instead of uname -a. * Add missing import platform statement * Remove subprocess import Remove ununsed import subprocess to make changes flak8 compliant
2016-10-11hypre: fix blas/lapack for MKL (#1993)Denis Davydov1-2/+2
2016-10-11Merge pull request #1989 from KineticTheory/cray_compile_wrappersTodd Gamblin1-4/+12
On Cray machines, use the Cray compile wrappers instead of MPI wrappers.
2016-10-11Merge pull request #1562 from LLNL/features/db-lockingTodd Gamblin14-185/+567
Finer-grained locking
2016-10-11Add variant to MPICH to enable ROMIO support (#1944)Adam J. Stewart1-32/+32
2016-10-11tethex: add a new package (#1991)Denis Davydov1-0/+49
2016-10-11Fix bug in `spack debug create-db-tarball`Todd Gamblin1-3/+19
- Fix a bug handling '/' characters in branch names. - Make tarballs use a descriptive name for the top-level directory, not just `opt`.
2016-10-11Roll my my own bit_length function for Python 2.6 compatibility.Todd Gamblin3-4/+11
2016-10-11Use a single lock file for stages and a single file for prefixes.Todd Gamblin5-18/+57
- Locks now use fcntl range locks on a single file. How it works for prefixes: - Each lock is a byte range lock on the nth byte of a file. - The lock file is ``spack.installed_db.prefix_lock`` -- the DB tells us what to call it and it lives alongside the install DB. n is the sys.maxsize-bit prefix of the DAG hash. For stages, we take the sha1 of the stage name and use that to select a byte to lock. With 100 concurrent builds, the likelihood of a false lock collision is ~5.36e-16, so this scheme should retain more than sufficient paralellism (with no chance of false negatives), and get us reader-writer lock semantics with a single file, so no need to clean up lots of lock files.
2016-10-11Add tests for locks with byte ranges.Todd Gamblin1-42/+150
2016-10-11Fix bug with lock upgrades.Todd Gamblin1-12/+16
- Closing and re-opening to upgrade to write will lose all existing read locks on this process. - If we didn't allow ranges, sleeping until no reads would work. - With ranges, we may never be able to take some legal write locks without invalidating all reads. e.g., if a write lock has distinct range from all reads, it should just work, but we'd have to close the file, reopen, and re-take reads. - It's easier to just check whether the file is writable in the first place and open for writing from the start. - Lock now only opens files read-only if we *can't* write them.
2016-10-11Add base32_prefix_bits function to get prefix of DAG hash as an int.Todd Gamblin2-4/+61
2016-10-11Add byte-range parameters to llnl.util.lockTodd Gamblin1-19/+40
2016-10-11Remove need to touch lock files before using.Todd Gamblin6-38/+68
- Locks will now create enclosing directories and touch the lock file automatically.
2016-10-11Make llnl.util.lock use file objects instead of low-level OS fds.Todd Gamblin2-18/+20
- Make sure we write, truncate, flush when setting PID and owning host in the file.
2016-10-11stage : try to remove dead links only of folder that you actually care aboutalalazo2-14/+44
A use case where the previous approach was failing is : - more than one spack process running on compute nodes - stage directory is a link to fast LOCAL storage In this case the processes may try to unlink something that is "dead" for them, but actually used by other processes on storage they cannot see.
2016-10-11lockfiles : creates directory for locks if not already presentalalazo1-0/+2
2016-10-11diy : removed global write lock on the dbalalazo1-34/+31
2016-10-11uninstall : removed global lockalalazo2-16/+15
2016-10-11unit tests : fixed failing testsalalazo1-1/+4
2016-10-11install : finer graned locking for install commandalalazo5-30/+97
2016-10-11More specific dependency versions, wrap make check (#1962)Adam J. Stewart3-12/+25
2016-10-11Update libjpeg-turbo: added new version and removed redundant dependency. ↵Sergey Kosukhin1-7/+12
(#1897)
2016-10-11Fixed set operation from undefined += to a union (#1963)James Wynne III1-1/+2
Fixed flake8 issues
2016-10-11spack list : merged package-list into list (#1932)Massimiliano Culpo3-128/+116
* spack list : merged package-list into the command * list : removed option for case sensitivity
2016-10-11pango: add missing dependency (#1958)Denis Davydov1-0/+1
2016-10-11libcerf: fix for modern clang (#1959)Denis Davydov1-1/+7
2016-10-11[WIP] Use boost system layout by default (#1955)scheibelp2-8/+28
Use boost system layout by default
2016-10-11Charm++: Ignore compiler warnings while configuring (#1981)Erik Schnetter2-0/+18
2016-10-11Make CMake-based builds more verbose by default. (#1988)Kelly Thompson1-1/+2
2016-10-11Trilinos: Use more flexible option for locating the BLAS library directory. ↵Kelly Thompson2-9/+2
(#1987) + This change fixes a problem that manifests when trilinos is built against a MKL installation defined as an external package. In this scenario, the MKL libraries are found one directory deeper than for the case where spack provides MKL. The extra directory is a platform name like 'intel64'. + The changes in this PR were recommended by contributor @davydden. I implemented and tested with intel@16.0.3. These changes fix the issue I reported. I did not attempt building trilinos against other BLAS implementations. + fixes #1923
2016-10-11uninstall : permits to uninstall all installed software fixes #1477 (#1973)Massimiliano Culpo1-30/+38
2016-10-11md5 : normalizes input before computing the md5 fixes #1508 (#1977)Massimiliano Culpo1-2/+13
Bottomline : - fetcher change the current working directory - relative paths were resolved differently depending on the prder f evaluation
2016-10-11hpx5 version update (#1967)Pramod Kumbhar1-2/+3
2016-10-11Mfem 3.2 (#1202)Geoffrey Oxberry1-15/+55
* 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.
2016-10-10On Cray machines, use the Cray compile wrappers instead of MPI wrappers.Kelly (KT) Thompson1-4/+12
+ Cray compile wrappers are MPI wrappers. + Packages that need to be compiled with MPI compile wrappers normally use 'mpicc', 'mpic++' and 'mpif90' provided by the MPI vendor. However, when using cray-mpich as the MPI vendor, the compile wrappers 'CC', 'cc' and 'ftn' must be used. + In this scenario, the mpich package is hijacked by specifying cray-mpich as an external package under the 'mpich:' section of packages.yaml. For example: packages: mpich: modules: mpich@7.4.2%intel@16.0.3 arch=cray-CNL-haswell: cray-mpich/7.4.2 buildable: False all: providers: mpi: [mpich] + This change allows packages like parmetis to be built using the Cray compile wrappers. For example: 'spack install parmetis%intel@16.0.3 ^mpich@7.4.2 os=CNL' + This commit relies on the existence of the environment variable CRAYPE_VERSION to determine if the current machine is running a Cray environment. This check is insufficient, but I'm not sure how to improve this logic. + Fixes #1827
2016-10-10Update package to use MPI compile wrappers as specified in MPI package. (#1985)Kelly Thompson1-6/+4
+ Previouly, these strings were hard coded to 'mpicc', 'mpic++', and 'mpifort'.
2016-10-10fix blas-lapack in scipy and numpy (#1949)Denis Davydov2-19/+14
* fix blas-lapack in scipy and numpy * py-numpy: do not set rpath on macOS * py-scipy: do not set Blas/Lapack. This appears to be picked up from py-numpy * py-numpy: don't write rpath= in Sierra only * py-numpy: add a link to build notes
2016-10-10Correct Charm++ install procedure (#1957)Erik Schnetter1-0/+16
Charm++ only creates symbolic links instead of copying files. Correct this.
2016-10-07Add documentation for standard python repositories. (#1970)Jean-Paul Pelteret1-0/+30
Fixes #1939
2016-10-07Added symengine and associated packages (#1885)Jean-Paul Pelteret7-4/+365
Symengine and associated packages
2016-10-07Check for `-r` in ccld mode too (#1972)Isuru Fernando1-2/+2
2016-10-07fixes #858 (#1961)Massimiliano Culpo1-1/+1
Fix spack uninstall -f
2016-10-06Restore default RPATH settings but allow packages to limit to immediate ↵Todd Gamblin3-2/+18
deps. (#1954) - Some packages (netcdf) NEED RPATHs for transitive deps. - Others (dealii) will exceed OS limits when the DAG is too large.
2016-10-06atlas: add 3.10.3 (#1952)Denis Davydov1-0/+3
2016-10-06Feature Proposal : Make All Python Extensions User Configuration Independent ↵Joseph Ciurej87-99/+90
(#1435) * Updated all Python extension packages to use 'setup_py' on install. * Fixed a few minor style issues with the updated Python packages.
2016-10-06Fix bugs preventing readthedocs from rebuilding the documentation (#1945)Adam J. Stewart2-14/+12
2016-10-06Update gmp: fixed an issue with intel compiler. (#1898)Sergey Kosukhin1-2/+8
2016-10-06Updated nettle to have m4 as an immediate dependency (#1946)Jay1-0/+1
* Updated nettle to have m4 as an immediate dependency to match new PATH construction logic which only includes immediate dependencies. * Update package.py
2016-10-06[Bug Fix (and docs too)] : Do not select @develop version by default (#1933)Elizabeth Fischer2-5/+47
* This fixes a bug in concretization. Before the recent change to the algorithm, the intent was that the @develop version, although "greater" than numberic versions, is never preferred BY DEFAULT over numeric versions. To test this... suppose you have a package with no `preferred=True` in it, and nothing in `packages.yaml`, but with a `develop` version. For the sake of this example, I've hacked my `python/package.py` to work this way. Without bugfix (WRONG: user should never get develop by default): ``` python@develop%clang@7.3.0-apple~tk~ucs4 arch=darwin-elcapitan-x86_64 ... ``` With bugfix (RIGHT: largest numeric version selected): ``` python@3.5.2%clang@7.3.0-apple~tk~ucs4 arch=darwin-elcapitan-x86_64 ... ``` * Documented version selection in concretization algo. * Fix typos * flake8