summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxel Huebl <axel.huebl@plasma.ninja>2016-09-21 09:55:54 +0200
committerTodd Gamblin <tgamblin@llnl.gov>2016-09-21 00:55:54 -0700
commitd3e04b3daf3f30729cfb90790cf4081364e911f1 (patch)
treeb5d8539b8ae75b58d4a8e9debf6f865f8450c431
parent3254d2f8f9d3b26f9afbfa73d6fb66dffafdaadd (diff)
downloadspack-d3e04b3daf3f30729cfb90790cf4081364e911f1.tar.gz
spack-d3e04b3daf3f30729cfb90790cf4081364e911f1.tar.bz2
spack-d3e04b3daf3f30729cfb90790cf4081364e911f1.tar.xz
spack-d3e04b3daf3f30729cfb90790cf4081364e911f1.zip
Close #1683 Apply ADIOS 1.10.0 Patch (HDF5 1.10+) (#1699)
* Close #1683 Apply ADIOS 1.10.0 Patch Also correct version dependencies and comments. * Clean Up ADIOS - add develop - simplify HDF5 options (parallel only) - remove optional netCDF (not fully v4)
-rw-r--r--var/spack/repos/builtin/packages/adios/adios_1100.patch29
-rw-r--r--var/spack/repos/builtin/packages/adios/package.py22
2 files changed, 42 insertions, 9 deletions
diff --git a/var/spack/repos/builtin/packages/adios/adios_1100.patch b/var/spack/repos/builtin/packages/adios/adios_1100.patch
new file mode 100644
index 0000000000..7a9f857c32
--- /dev/null
+++ b/var/spack/repos/builtin/packages/adios/adios_1100.patch
@@ -0,0 +1,29 @@
+From 3b21a8a4150962c6938baeceacd04f619cea2fbc Mon Sep 17 00:00:00 2001
+From: Norbert Podhorszki <pnorbert@ornl.gov>
+Date: Thu, 1 Sep 2016 16:26:23 -0400
+Subject: [PATCH] ifdef around 'bool' type. hdf5 1.10 defines bool and breaks
+ compiling bp2h5.c
+
+---
+ utils/bp2h5/bp2h5.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/utils/bp2h5/bp2h5.c b/utils/bp2h5/bp2h5.c
+index 9c500c7..fa746bd 100644
+--- a/utils/bp2h5/bp2h5.c
++++ b/utils/bp2h5/bp2h5.c
+@@ -43,9 +43,11 @@
+ #include "dmalloc.h"
+ #endif
+
+-typedef int bool;
+-#define false 0
+-#define true 1
++#ifndef bool
++ typedef int bool;
++# define false 0
++# define true 1
++#endif
+
+ bool noindex = false; // do no print array indices with data
+ bool printByteAsChar = false; // print 8 bit integer arrays as string
diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py
index 01834383b8..e240ce0858 100644
--- a/var/spack/repos/builtin/packages/adios/package.py
+++ b/var/spack/repos/builtin/packages/adios/package.py
@@ -36,6 +36,8 @@ class Adios(Package):
homepage = "http://www.olcf.ornl.gov/center-projects/adios/"
url = "https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz"
+ version('develop', git='https://github.com/ornladios/ADIOS.git',
+ branch='master')
version('1.10.0', 'eff450a4c0130479417cfd63186957f3')
version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678')
@@ -48,14 +50,14 @@ class Adios(Package):
variant('mpi', default=True, description='Enable MPI support')
variant('infiniband', default=False, description='Enable infiniband support')
+ # transforms
variant('zlib', default=True, description='Enable szip transform support')
variant('szip', default=False, description='Enable szip transform support')
- variant('hdf5', default=False, description='Enable HDF5 transport support')
- variant('netcdf', default=False, description='Enable NetCDF transport support')
+ # transports and serial file converters
+ variant('hdf5', default=False, description='Enable parallel HDF5 transport and serial bp2h5 converter')
# Lots of setting up here for this package
# module swap PrgEnv-intel PrgEnv-$COMP
- # module load cray-netcdf/4.3.3.1
# module load cray-hdf5/1.8.14
# module load python/2.7.10
@@ -69,9 +71,13 @@ class Adios(Package):
# optional transformations
depends_on('zlib', when='+zlib')
depends_on('szip', when='+szip')
- # optional transports
- depends_on('hdf5', when='+hdf5')
- depends_on('netcdf', when='+netcdf')
+ # optional transports & file converters
+ depends_on('hdf5@1.8:+mpi', when='+hdf5')
+
+ # Fix ADIOS <=1.10.0 compile error on HDF5 1.10+
+ # https://github.com/ornladios/ADIOS/commit/3b21a8a41509
+ # https://github.com/LLNL/spack/issues/1683
+ patch('adios_1100.patch', when='@:1.10.0^hdf5@1.10:')
def validate(self, spec):
"""
@@ -114,9 +120,7 @@ class Adios(Package):
if '+szip' in spec:
extra_args.append('--with-szip=%s' % spec['szip'].prefix)
if '+hdf5' in spec:
- extra_args.append('--with-hdf5=%s' % spec['hdf5'].prefix)
- if '+netcdf' in spec:
- extra_args.append('--with-netcdf=%s' % spec['netcdf'].prefix)
+ extra_args.append('--with-phdf5=%s' % spec['hdf5'].prefix)
sh = which('sh')
sh('./autogen.sh')