hdf5 1.8.19 and PGI/2017 (17.5-0 64bit)

Hi All,
When trying to build HDF5 with the PGI compiler suite, I’m getting the following severe errors:

PGC-S-0060-magic is not a member of this struct or union (H5C.c: 4943)
PGC-S-0039-Use of undeclared variable H5C__H5C_CACHE_ENTRY_T_MAGIC (H5C.c: 4943)
PGC-S-0060-magic is not a member of this struct or union (H5C.c: 4978)

configure line is:
./configure --prefix=/local/cjn/hdf5-1.8.19-build --enable-unsupported --disable-threadsafe --enable-cxx --enable-hl --enable-fortran --without-szlib --enable-production --enable-fortran2003 --enable-shared CFLAGS=-fpic CXXFLAGS=-fpic FCFLAGS=-fpic --with-zlib=/local/cjn/zlib-1.2.11-build

Anyone have any ideas?

thanks,
C

Here’s part of the definition for the “H5C_cache_entry_t” found in “H5Cprivate.h”

typedef struct H5C_cache_entry_t
{
#ifndef NDEBUG
    uint32_t                    magic;
#endif /* NDEBUG */

So “magic” doesn’t get defined if “NDEBUG” is defined. However, where the error occurs is an “assert” which should get preprocessed away if “NDEBUG” is defined and shouldn’t error. Odd.

The code compiles fine for me, so I’m not really sure what’s going on here.

Can you try preprocessing the file (-P) and then look at the generated pre-processed file and see if NDEBUG is getting defined someplace?

-Mat