summaryrefslogtreecommitdiffstats
path: root/release_docs/RELEASE.txt
blob: 1aa8577ae45db7618cd07cbe8fc33d3d8ffffb62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
HDF5 version 1.10.1-pre3 currently under development
================================================================================

INTRODUCTION

This document describes the differences between HDF5-1.10.0-patch1 and
HDF5 1.10.1, and contains information on the platforms tested and known problems in HDF5-1.10.1.
For more details check the HISTORY*.txt files in the HDF5 source.


Links to HDF5 1.10.1 source code, documentation, and additional materials can be found on The HDF5 web page at:

     https://support.hdfgroup.org/HDF5/

The HDF5 1.10.1 release can be obtained from:

     https://support.hdfgroup.org/HDF5/release/obtain5.html

User documentation for the snapshot can be accessed directly at this location:

     https://support.hdfgroup.org/HDF5/doc/

New features in the HDF5-1.10.x release series, including brief general
descriptions of some new and modified APIs, are described in the "New Features
in HDF5 Release 1.10" document:

     https://support.hdfgroup.org/HDF5/docNewFeatures/index.html

All new and modified APIs are listed in detail in the "HDF5 Software Changes
from Release to Release" document, in the section "Release 10.1 (current
release) versus Release 1.10.0

     https://support.hdfgroup.org/HDF5/doc/ADGuide/Changes.html

If you have any questions or comments, please send them to the HDF Help Desk:

    help@hdfgroup.org


CONTENTS

- Major New Features Introduced in HDF5 1.10.1
- Other New Features and Enhancements
- Bug Fixes since HDF5-1.10.0-patch1
- Supported Platforms
- Tested Configuration Features Summary
- More Tested Platforms
- Known Problems


Major New Features Introduced in HDF5 1.10.1
============================================

For links to the RFCs and documentation in this section please view 
https://support.hdfgroup.org/HDF5/docNewFeatures in a web browser.

________________________________________
Metadata Cache Image 
________________________________________

    HDF5 metadata is typically small, and scattered throughout the HDF5 file. 
    This can affect performance, particularly on large HPC systems. The 
    Metadata Cache Image feature can improve performance by writing the 
    metadata cache in a single block on file close, and then populating the 
    cache with the contents of this block on file open, thus avoiding the many 
    small I/O operations that would otherwise be required on file open and 
    close. See the RFC for complete details regarding this feature. Also, 
    see the Fine Tuning the Metadata Cache documentation. 

    At present, metadata cache images may not be generated by parallel 
    applications.  Parallel applications can read files with metadata cache
    images, but since this is a collective operation, a deadlock is possible
    if one or more processes do not participate.

________________________________________
Metadata Cache Evict on Close 
________________________________________

    The HDF5 library's metadata cache is fairly conservative about holding on 
    to HDF5 object metadata (object headers, chunk index structures, etc.), 
    which can cause the cache size to grow, resulting in memory pressure on 
    an application or system. The "evict on close" property will cause all 
    metadata for an object to be evicted from the cache as long as metadata 
    is not referenced from any other open object. See the Fine Tuning the 
    Metadata Cache documentation for information on the APIs. 
    
________________________________________
Paged Aggregation 
________________________________________

    The current HDF5 file space allocation accumulates small pieces of metadata 
    and raw data in aggregator blocks which are not page aligned and vary 
    widely in sizes. The paged aggregation feature was implemented to provide 
    efficient paged access of these small pieces of metadata and raw data. 
    See the RFC for details. Also, see the File Space Management documentation.
    
________________________________________
Page Buffering 
________________________________________

    Small and random I/O accesses on parallel file systems result in poor 
    performance for applications. Page buffering in conjunction with paged 
    aggregation can improve performance by giving an application control of 
    minimizing HDF5 I/O requests to a specific granularity and alignment. 
    See the RFC for details. Also, see the Page Buffering documentation.

    At present, page buffering is disabled in parallel builds.



Other New Features and Enhancements
===================================

    Library
    -------
    - Added a mechanism for disabling the SWMR file locking scheme.

      The file locking calls used in HDF5 1.10.0 (including patch1)
      will fail when the underlying file system does not support file
      locking or where locks have been disabled. To disable all file
      locking operations, an environment variable named
      HDF5_USE_FILE_LOCKING can be set to the five-character string
      'FALSE'. This does not fundamentally change HDF5 library
      operation (aside from initial file open/create, SWMR is lock-free),
      but users will have to be more careful about opening files
      to avoid problematic access patterns (i.e.: multiple writers)
      that the file locking was designed to prevent.

      Additionally, the error message that is emitted when file lock
      operations set errno to ENOSYS (typical when file locking has been
      disabled) has been updated to describe the problem and potential
      resolution better.

      (DER, 2016/10/26, HDFFV-9918)

    - The return type of H5Pget_driver_info() has been changed from void *
      to const void *.

      The pointer returned by this function points to internal library
      memory and should not be freed by the user.

      (DER, 2016/11/04, HDFFV-10017)

    - The direct I/O VFD has been removed from the list of VFDs that
      support SWMR.

      This configuration was never officially tested and several SWMR
      tests fail when this VFD is set.

      (DER, 2016/11/03, HDFFV-10169)

    Configuration:
    --------------
    - The minimum version of CMake required to build HDF5 is now 3.2.2.

      (ADB, 2017/01/10)

    - An --enable/disable-developer-warnings option has been added to
      configure.

      This disables warnings that do not indicate poor code quality such
      as -Winline and gcc's -Wsuggest-attribute. Developer warnings are
      disabled by default.

      (DER, 2017/01/10)

    - A bin/restore.sh script was added that reverts autogen.sh processing.

      (DER, 2016/11/08)

    - CMake: Added NAMESPACE hdf5:: to package configuration files to allow
      projects using installed HDF5 binaries built with CMake to link with
      them without specifying the HDF5 library location via IMPORTED_LOCATION.

      (ABD, 2016/10/17, HDFFV-10003)

    - CMake: Changed the CTEST_BUILD_CONFIGURATION option to
      CTEST_CONFIGURATION_TYPE as recommended by the CMake documentation.

      (ABD, 2016/10/17, HDFFV-9971)
    

    Fortran Library:
    ----------------

    - The HDF5 Fortran library can now be compiled with the NAG compiler.

      (MSB, 2017/2/10, HDFFV-9973)


    C++ Library:
    ------------

    - The following C++ API wrappers have been added to the C++ Library:

        // Sets/Gets the strategy and the threshold value that the library will
        // will employ in managing file space.
        FileCreatPropList::setFileSpaceStrategy - H5Pset_file_space_strategy
        FileCreatPropList::getFileSpaceStrategy - H5Pget_file_space_strategy

        // Sets/Gets the file space page size for paged aggregation.
        FileCreatPropList::setFileSpacePagesize - H5Pset_file_space_page_size
        FileCreatPropList::getFileSpacePagesize - H5Pget_file_space_page_size

        // Checks if the given ID is valid.
        IdComponent::isValid - H5Iis_valid

        // Sets/Gets the number of soft or user-defined links that can be
        // traversed before a failure occurs.
        LinkAccPropList::setNumLinks - H5Pset_nlinks
        LinkAccPropList::getNumLinks - H5Pget_nlinks

        // Returns a copy of the creation property list of a datatype.
        DataType::getCreatePlist - H5Tget_create_plist

        // Opens/Closes an object within a group or a file, regardless object type
        Group::getObjId - H5Oopen
        Group::closeObjId - H5Oclose

        // Maps elements of a virtual dataset to elements of the source dataset.
        DSetCreatPropList::setVirtual - H5Pset_virtual

        // Gets general information about this file.
        H5File::getFileInfo - H5Fget_info2

        // Returns the number of members in a type.
        IdComponent::getNumMembers - H5Inmembers

        // Determines if an element type exists.
        IdComponent::typeExists - H5Itype_exists

        // Determines if an object exists.
        H5Location::exists - H5Lexists.

        // Returns the header version of an HDF5 object.
        H5Object::objVersion - H5Oget_info for version

      (BMR, 2017/03/20, HDFFV-10004, HDFFV-10139, HDFFV-10145)

    - New exception: ObjHeaderIException for H5O interface.

      (BMR, 2017/03/15, HDFFV-10145)

    - New class LinkAccPropList for link access property list, to be used by
      wrappers of H5Lexists.

      (BMR, 2017/01/04, HDFFV-10145)

    - New constructors to open datatypes in ArrayType, CompType, DataType,
      EnumType, FloatType, IntType, StrType, and VarLenType.
      
      (BMR, 2016/12/26, HDFFV-10056)

    - New member functions:

        DSetCreatPropList::setNbit() to setup N-bit compression for a dataset.

        ArrayType::getArrayNDims() const
        ArrayType::getArrayDims() const
        both to replace the non-const versions.

      (BMR, 2016/04/25, HDFFV-8623, HDFFV-9725)


    Tools:
    ------
     - The following options have been added to h5clear:
       -s: clear the status_flags field in the file's superblock
       -m: Remove the metadata cache image from the file

       (QAK, 2017/03/22, PR#361)


    High-Level APIs:
    ---------------
     - Added New Fortran 2003 API for h5tbmake_table_f.

       (MSB, 2017/02/10, HDFFV-8486)



Bug Fixes since HDF5-1.10.0-patch1 release
==================================

    Library
    -------
    - Outdated data structure was used in H5D_CHUNK_DEBUG blocks, causing
      compilation errors when H5D_CHUNK_DEBUG was defined.  This is fixed.

      (BMR, 2017/04/04, HDFFV-8089)

    - SWMR implementation in the HDF5 1.10.0 and 1.10.0-patch1 releases has a broken
      metadata flush dependency that manifested itself with the following error at the
      end of the HDF5 error stack:

      H5Dint.c line 846 in H5D__swmr_setup(): dataspace chunk index must be 0 for
      SWMR access, chunkno = 1
      major: Dataset
      minor: Bad value

      It was also reported at https://github.com/areaDetector/ADCore/issues/203

      The flush dependency is fixed in this release.

    - Changed the plugins dlopen option from RTLD_NOW to RTLD_LAZY

      (ABD, 2016/12/12, PR#201)

    - A number of issues were fixed when reading/writing from/to corrupted
      files to ensure that the library fails gracefully in these cases:

      * Writing to a corrupted file that has an object message which is
        incorrectly marked as sharable on disk results in a buffer overflow /
        invalid write instead of a clean error message.

      * Decoding data from a corrupted file with a dataset encoded with the
        H5Z_NBIT decoding can result in a code execution vulnerability under
        the context of the application using the HDF5 library.

      * When decoding an array datatype from a corrupted file, the HDF5 library
        fails to return an error in production if the number of dimensions
        decoded is greater than the maximum rank.

      * When decoding an "old style" array datatype from a corrupted file, the
        HDF5 library fails to return an error in production if the number of
        dimensions decoded is greater than the maximum rank.

      (NAF, 2016/10/06, HDFFV-9950, HDFFV-9951, HDFFV-9992, HDFFV-9993)

    - Fixed an error that would occur when copying an object with an attribute
      which is a compound datatype consisting of a variable length string.    

      (VC, 2016/08/24, HDFFV-7991)

    - H5DOappend will no longer fail if a dataset has no append callback registered.

      (VC, 2016/08/14, HDFFV-9960)

    - Fixed an issue where H5Pset_alignment could result in misaligned blocks
      with some input combinations, causing an assertion failure in debug mode.

      (NAF, 2016/08/11, HDFFV-9948)

    - Fixed a problem where a plugin compiled into a DLL in the default plugin
      directory could not be found by the HDF5 library at runtime on Windows
      when the HDF5_PLUGIN_PATH environment variable was not set.

      (ABD, 2016/08/01, HDFFV-9706)

    - Fixed an error that would occur when calling H5Adelete on an attribute
      which is attached to an externally linked object in the target file and
      whose datatype is a committed datatype in the main file.    

      (VC, 2016/07/06, HDFFV-9940)

    - (a) Throw an error instead of assertion when v1 btree level hits the 1 byte limit.
      (b) Modifications to better handle error recovery when conversion by
          h5format_convert fails.

      (VC, 2016/05/29, HDFFV-9434)

    - Fixed a memory leak where an array used by the library to track SWMR
      read retries was unfreed.

      The leaked memory was small (on the order of a few tens of ints) and
      allocated per-file. The memory was allocated (and lost) only when a
      file was opened for SWMR access.

      (DER, 2016/04/27, HDFFV-9786)

    - Fixed a memory leak that could occur when opening a file for the first
      time (including creating) and the call fails.

      This occurred when the file-driver-specific info was not cleaned up.
      The amount of memory leaked varied with the file driver, but would
      normally be less than 1 kB.

      (DER, 2016/12/06, HDFFV-10168)

    - Fixed a failure in collective metadata writes.  

      This failure only appeared when collective metadata writes 
      were enabled (via H5Pset_coll_metadata_write()).

      (JRM, 2017/04/10, HDFFV-10055)


    Parallel Library
    ----------------
    - Fixed a bug that could occur when allocating a chunked dataset in parallel
      with an alignment set and an alignment threshold greater than the chunk
      size but less than or equal to the raw data aggregator size.

      (NAF, 2016/08/11, HDFFV-9969)


    Configuration
    -------------         
    - Configuration will check for the strtoll and strtoull functions
      before using alternatives

      (ABD, 2017/03/17, PR#340)

    - CMake uses a Windows pdb directory variable if available and
      will generate both static and shared pdb files.

      (ABD, 2017/02/06, HDFFV-9875)

    - CMake now builds shared versions of tools.

      (ABD, 2017/02/01, HDFFV-10123)

    - Makefiles and test scripts have been updated to correctly remove files
      created when running "make check" and to avoid removing any files under 
      source control.  In-source builds followed by "make clean" and "make 
      distclean" should result in the original source files.

      (LRK, 2017/01/17, HDFFV-10099)

    - The tools directory has been divided into two separate source and test
      directories. This resolves a build dependency and, as a result,
      'make check' will no longer fail in the tools directory if 'make' was
      not executed first.
    
      (ABD, 2016/10/27, HDFFV-9719)

    - CMake: Fixed a timeout error that would occasionally occur when running
      the virtual file driver tests simultaneously due to test directory
      and file name collisions.

      (ABD, 2016/09/19, HDFFV-9431)

    - CMake: Fixed a command length overflow error by converting custom
      commands inside CMakeTest.cmake files into regular dependencies and
      targets.

      (ABD, 2016/07/12, HDFFV-9939)

    - Fixed a problem preventing HDF5 to be built on 32-bit CYGWIN by
      condensing cygwin configuration files into a single file and
      removing outdated compiler settings.

      (ABD, 2016/07/12, HDFFV-9946)


    Fortran
    --------
    - Changed H5S_ALL_F from INTEGER to INTEGER(HID_T)

      (MSB, 2016/10/14, HDFFV-9987)


    Tools
    -----
    - h5diff now correctly ignores strpad in comparing strings.

      (ABD, 2017/03/03, HDFFV-10128)

    - h5repack now correctly parses the command line filter options.

      (ABD, 2017/01/24, HDFFV-10046)

    - h5diff now correctly returns an error when it cannot read data due
      to an unavailable filter plugin.

      (ADB 2017/01/18, HDFFV-9994 )

    - Fixed an error in the compiler wrapper scripts (h5cc, h5fc, et al.)
      in which they would erroneously drop the file argument specified via
      the -o flag when the -o flag was specified before the -c flag on the
      command line, resulting in a failure to compile.

      (LRK, 2016/11/04, HDFFV-9938, HDFFV-9530) 

    - h5repack User Defined (UD) filter parameters were not parsed correctly.

      The UD filter parameters were not being parsed correctly. Reworked coding
      section to parse the correct values and verify number of parameters.

      (ABD, 2016/10/19, HDFFV-9996, HDFFV-9974, HDFFV-9515, HDFFV-9039) 

    - h5repack allows the --enable-error-stack option on the command line.

      (ADB, 2016/08/08, HDFFV-9775)


    C++ APIs
    --------
    - Due to the change in the C API, the overloaded functions of
      PropList::setProperty now need const for some arguments.  They are
      planned for deprecation and are replaced by new versions with proper
      consts.

      (BMR, 2017/03/17, PR#344)

    - The high-level API Packet Table (PT) did not write data correctly when
      the datatype is a compound type that has string type as one of the
      members.  This problem started in 1.8.15, after the fix of HDFFV-9042
      was applied, which caused the Packet Table to use native type to access
      the data.  It should be up to the application to specify whether the
      buffer to be read into memory is in the machine's native architecture.
      Thus, the PT is fixed to not use native type but to make a copy of the
      user's provided datatype during creation or the packet table's datatype
      during opening.  If an application wishes to use native type to read the
      data, then the application will request that.  However, the Packet Table
      doesn't provide a way to specify memory datatype in this release.  This
      feature will be available in future releases.

      (BMR, 2016/10/27, HDFFV-9758)

    - The obsolete macros H5_NO_NAMESPACE and H5_NO_STD have been removed from
      the HDF5 C++ API library.

      (BMR, 2016/10/23, HDFFV-9532)

    - The problem where a user-defined function cannot access both, attribute
      and dataset, using only one argument is now fixed.

      (BMR, 2016/10/11, HDFFV-9920)

    - In-memory array information, ArrayType::rank and
      ArrayType::dimensions, were removed. This is an implementation
      detail and should not affect applications.

      (BMR, 2016/04/25, HDFFV-9725)


    Testing
    -------
    - Fixed a problem that caused tests using SWMR to occasionally fail when 
      running "make check" using parallel make.

      (LRK, 2016/03/22, PR#338, PR#346, PR#358)


Supported Platforms
===================

    Linux 2.6.32-573.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
    #1 SMP ppc64 GNU/Linux        g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
    (ostrich)                     GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
                                  IBM XL C/C++ V13.1
                                  IBM XL Fortran V15.1

    Linux 3.10.0-327.10.1.el7   GNU C (gcc), Fortran (gfortran), C++ (g++)
    #1 SMP x86_64 GNU/Linux       compilers:
    (kituo/moohan)                  Version 4.8.5 20150623 (Red Hat 4.8.5-4)
                                    Version 4.9.3, Version 5.2.0
                                  Intel(R) C (icc), C++ (icpc), Fortran (icc)
                                  compilers:
                                     Version 15.0.3.187 Build 20150407
                                  MPICH 3.1.4 compiled with GCC 4.9.3

    SunOS 5.11 32- and 64-bit     Sun C 5.12 SunOS_sparc
    (emu)                         Sun Fortran 95 8.6 SunOS_sparc
                                  Sun C++ 5.12 SunOS_sparc

    Windows 7                     Visual Studio 2012 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2013 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2015 w/ Intel Fortran 16 (cmake)
                                  Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran)
                                  (cmake and autotools)

    Windows 7 x64                 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2013 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2015 w/ Intel Fortran 16 (cmake)
                                  Visual Studio 2015 w/ Intel Parallel Studio 2017 (cmake)

    Windows 10                    Visual Studio 2015 w/ Intel Fortran 16 (cmake)

    Windows 10 x64                Visual Studio 2015 w/ Intel Fortran 16 (cmake)

    Mac OS X Mt. Lion 10.8.5      Apple clang/clang++ version 5.1 from Xcode 5.1
    64-bit                        gfortran GNU Fortran (GCC) 4.8.2
    (swallow/kite)                Intel icc/icpc/ifort version 15.0.3

    Mac OS X Mavericks 10.9.5     Apple clang/clang++ version 6.0 from Xcode 6.2
    64-bit                        gfortran GNU Fortran (GCC) 4.9.2
    (wren/quail)                  Intel icc/icpc/ifort version 15.0.3

    Mac OS X Yosemite 10.10.5     Apple clang/clang++ version 6.1 from Xcode 7.0
    64-bit                        gfortran GNU Fortran (GCC) 4.9.2
    (osx1010dev/osx1010test)      Intel icc/icpc/ifort version 15.0.3

    Mac OS X El Capitan 10.11.6   Apple clang/clang++ version 7.3.0 from Xcode 7.3
    64-bit                        gfortran GNU Fortran (GCC) 5.2.0
    (osx1010dev/osx1010test)      Intel icc/icpc/ifort version 16.0.2


Tested Configuration Features Summary
=====================================

    In the tables below
          y   = tested
          n   = not tested in this release
          C   = Cluster
          W   = Workstation
          x   = not working in this release
          dna = does not apply
          ( ) = footnote appears below second table
          <blank> = testing incomplete on this feature or platform

Platform                              C         F90/   F90      C++  zlib  SZIP
                                      parallel  F2003  parallel
Solaris2.11 32-bit                      n        y/y    n        y    y     y
Solaris2.11 64-bit                      n        y/n    n        y    y     y
Windows 7                               y        y/y    n        y    y     y
Windows 7 x64                           y        y/y    y        y    y     y
Windows 7 Cygwin                        n        y/n    n        y    y     y
Windows 7 x64 Cygwin                    n        y/n    n        y    y     y
Windows 10                              y        y/y    n        y    y     y
Windows 10 x64                          y        y/y    n        y    y     y
Mac OS X Mountain Lion 10.8.5 64-bit    n        y/y    n        y    y     y
Mac OS X Mavericks 10.9.5 64-bit        n        y/y    n        y    y     y
Mac OS X Yosemite 10.10.5 64-bit        n        y/y    n        y    y     y
Mac OS X El Capitan 10.11.6 64-bit      n        y/y    n        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 PGI      n        y/y    n        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 GNU      y        y/y    y        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 Intel    n        y/y    n        y    y     y
Linux 2.6.32-573.18.1.el6.ppc64         n        y/y    n        y    y     y


Platform                                 Shared  Shared    Shared    Thread-
                                         C libs  F90 libs  C++ libs  safe
Solaris2.11 32-bit                         y       y         y         y
Solaris2.11 64-bit                         y       y         y         y
Windows 7                                  y       y         y         y
Windows 7 x64                              y       y         y         y
Windows 7 Cygwin                           n       n         n         y
Windows 7 x64 Cygwin                       n       n         n         y
Windows 10                                 y       y         y         y
Windows 10 x64                             y       y         y         y
Mac OS X Mountain Lion 10.8.5 64-bit       y       n         y         y
Mac OS X Mavericks 10.9.5 64-bit           y       n         y         y
Mac OS X Yosemite 10.10.5 64-bit           y       n         y         y
Mac OS X El Capitan 10.11.6 64-bit         y       n         y         y
CentOS 7.2 Linux 2.6.32 x86_64 PGI         y       y         y         n
CentOS 7.2 Linux 2.6.32 x86_64 GNU         y       y         y         y
CentOS 7.2 Linux 2.6.32 x86_64 Intel       y       y         y         n
Linux 2.6.32-573.18.1.el6.ppc64            y       y         y         n

Compiler versions for each platform are listed in the preceding
"Supported Platforms" table.


More Tested Platforms
=====================
The following platforms are not supported but have been tested for this release.

    Linux 2.6.32-573.22.1.el6    GNU C (gcc), Fortran (gfortran), C++ (g++)
    #1 SMP x86_64 GNU/Linux       compilers:
    (mayll/platypus)                 Version 4.4.7 20120313
                                     Version 4.8.4
                                  PGI C, Fortran, C++ for 64-bit target on
                                  x86-64;
                                      Version 16.10-0
                                  Intel(R) C (icc), C++ (icpc), Fortran (icc)
                                  compilers:
                                     Version 15.0.3.187 (Build 20150407)
                                  MPICH 3.1.4 compiled with GCC 4.9.3

    Linux 2.6.32-573.18.1.el6.ppc64  MPICH mpich 3.1.4 compiled with
    #1 SMP ppc64 GNU/Linux           IBM XL C/C++ for Linux, V13.1
    (ostrich)                        and IBM XL Fortran for Linux, V15.1

    Debian 8.4 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux
                                  gcc, g++ (Debian 4.9.2-10) 4.9.2
                                  GNU Fortran (Debian 4.9.2-10) 4.9.2
                                  (cmake and autotools)

    Fedora 24  4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
                                  gcc, g++ (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3)
                                  GNU Fortran (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3)
                                  (cmake and autotools)

    Ubuntu 16.04.1 4.4.0-38-generic #57-Ubuntu SMP x86_64 GNU/Linux
                                  gcc, g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609
                                  GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609
                                  (cmake and autotools)


Known Problems
==============

    This section will be populated with issues reported to help@hdfgroup.org
    during pre-release testing.  Please report any issues.