[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #SNP-665192]: make check fails for netcdf-cxx4-4.2 on SUSE 10.4 PPC system.



See comments inline below.
> 
> On 06/12/2013 05:56 PM, Unidata netCDF Support wrote:
> > Hi Prentice,
> >
> >> Writing to you as instructed in error message. 'make check' failed for
> >> me on the front-end node to my IBM Blue Gene/P system. The front-end
> >> node is running SUSE 10.4 on a Power6 processor using the gcc 4.1.2
> >> compiles that are included with SUSE 10.4  A transcript f the 'make
> >> check' output is below.
> > I'm assuming the 4.1.2 version you're referring to is for netCDF-4.1.2
> > (March 2011) rather than gcc.
> That's incorrect. I'm using GCC 4.1.2 since that's the compiler provided
> by SUSE 10.4. The version of NetCDF  C++ is version 4.2, which was
> implied in my configure statement:
> 
> $ ./configure --prefix=/usr/local/netcdf-cxx4-4.2

Oops, since netcdf-cxx4-4.2 requires linking with some version of the netCDF
C library, I was incorrectly assuming you had version 4.1.2 of netCDF C 
installed
in /usr/local/lib and were building netcdf-cxx4 on top of that.

> I should have been more explicit. Also, I'm building on top of HDF 1.8.10, 
> which isn't that old. I should have mentioned that, too, since that's an 
> important detail. Sorry.
> >
> > The error you're seeing in the make check for netcdf-cxx4-4.2 appears to
> > be caused by calling the ncFile destructor twice, which results in calling
> > nc_close() twice on the same file handle, resulting in an error caught in
> > the HDF layer rather than the netCDF layer.
> >
> > I tried to reproduce this problem using netCDF-4.1.2 linked with
> > HDF5-1.8.4-patch1 (which would have been the version available in April
> > 2011), but "make check" completed successfully.
> I'm using NetCDF 4.2 with HDF5 1.8.10.
> >
> > So I can't duplicate the problem.  I also tried netcdf-cxx4-4.2 linked
> > with the latest netCDF-4.3.0 built with HDF5-1.8.11, and "make check"
> > also completed successfully.
> Okay, that's closer to what I'm using.
> >
> > I don't have access to SUSE or IBM Blue Gene/P platforms, but just ran
> > the tests to try to reproduce the problem on a Fedora 14 Linux platform.
> Initially, the error was for compiling for the the SUSE Enterprise
> Server (SLES) 10.4 on PPC, so the BG/P platform was irrelevant. Since
> then, I tried building for the BG/P itself, and got exactly the same
> error. For the BG/P build, I use the IBM XL compilers for the BG/P
> platform. For both platforms and compilers, I got the same error,  so I
> think the platform/compiler could be irrelevant. Instead, I suspect it
> could be a configuration error for HDF5, since I used the same
> configuration options for both platforms.
> 
> I keep detailed notes of all my builds. I've attached my build notes for
> HDF5 as a text file. Can you please review the configuration
> options/results. and let me know if I did something wrong? For the BG/P,
> I see I disabled CXX due to a configuration warning, so let's just focus
> on the front-end node (SLES 10.4) for now.

We should provide more explicit instructions for how to build
netcdf-cxx4, and some notes on its dependencies.

The netcdf-cxx4 library is merely a relatively thin layer depending on
the netcdf-4 C library, and the version numbers of these two libraries
are independent.  The netcdf-cxx4 software makes no HDF5 calls
directly, and neither the netCDF-4 C library or the netCDF-4 C++
library depend on the HDF5 C++ layer in any way.  It sufficient to
build HDF5 with the C++ and Fortran APIs disabled, which is the
default.  Also, netCDF-4 doesn't support writing szip files due to
intellectual property issues, so unless you will be reading
szip-encoded data, it's also not necessary to enable szip when you
build HDF5.  But I doubt if szip is relevant to this problem.

The tests I ran with hdf5-1.8.11, netcdf-4.3.0, and netcdf-cxx4-4.2
just used a default HDF5 build with nothing explicitly enabled.  I
doubt if that's the source of the problem you're seeing, but you could
try it.  Both the netCDF C library and HDF5 library were installed
shared, in case that's relevant.  That's the default for both
libraries also.

Alternatively, if you send the config.log from the netcdf-cxx4 build,
as well as the make output, I can compare with what I got and see if
any differences, such as compiler warning messages, justify further
investigation.

If this response doesn't resolve the problem, I'll forward details of 
the problem to Lynton Appel, the netcdf-cxx4 developer.  

--Russ

> > All I can suggest is that you try building from source with the most
> > recent versions of the netCDF C and HDF5 software, in hopes that the
> > bug you're seeing on your platform was fixed since the older versions
> > were released.
> Since initially reporting this problem, I installed NetCDF 4.3.0. I
> think I initially reported this problem with NetCDF 4.2.1.1. The version
> of NetCDF C++ is still 4.2. I'm still getting the exact same error.
> 
> >
> > --Russ
> >
> >> Let me know if you'd like any additional information about this system.
> >> I can send you logs of the configure and make output, if you're interested.
> >>
> >> $ ./configure --prefix=/usr/local/netcdf-cxx4-4.2 \
> >>
> >> CPPFLAGS=-I/usr/local/include \
> >>
> >> LDFLAGS=-L/usr/local/lib \
> >>
> >> 2>&1 | tee configure.log
> >>
> >> $ make 2>&1 | tee make.log
> >>
> >> $ make check
> >>
> >> Making check in cxx4
> >>
> >> make[1]: Entering directory `/scratch/pbisbal/build/netcdf-cxx4-4.2/cxx4'
> >>
> >> make  test_classic test_group test_dim test_att test_var test_var2 
> >> test_type
> >>
> >> make[2]: Entering directory `/scratch/pbisbal/build/netcdf-cxx4-4.2/cxx4'
> >>
> >> make[2]: `test_classic' is up to date.
> >>
> >> make[2]: `test_group' is up to date.
> >>
> >> make[2]: `test_dim' is up to date.
> >>
> >> make[2]: `test_att' is up to date.
> >>
> >> make[2]: `test_var' is up to date.
> >>
> >> make[2]: `test_var2' is up to date.
> >>
> >> make[2]: `test_type' is up to date.
> >>
> >> make[2]: Leaving directory `/scratch/pbisbal/build/netcdf-cxx4-4.2/cxx4'
> >>
> >> make  check-TESTS
> >>
> >> make[2]: Entering directory `/scratch/pbisbal/build/netcdf-cxx4-4.2/cxx4'
> >>
> >> Test creation of classic format file    -----------   passed
> >>
> >> PASS: test_classic
> >>
> >> Opening file "firstFile.cdf" with NcFile::replace
> >>only
> >> Testing addGroup("groupName")                         -----------   passed
> >>
> >> Testing getGroupCount([netCDF::Location])             -----------   passed
> >>
> >> Testing getGroups([netCDF::Location])                 -----------   passed
> >>
> >> Testing getGroups("name",[netCDF::Location])          -----------   passed
> >>
> >> Testing getGroup("name",[netCDF::Location])           -----------   passed
> >>
> >> Testing getParentGroup()                              -----------   passed
> >>
> >> PASS: test_group
> >>
> >> Opening file "firstFile.cdf" with NcFile::replace
> >>
> >> Testing addGroup("groupName")                              -----------   
> >> passed
> >>
> >> Testing addDim("dimensionName")                            -----------   
> >> passed
> >>
> >> Testing NcDim::isUnlimited()                               -----------   
> >> passed
> >>
> >> Testing NcDim::isNull()                                    -----------   
> >> passed
> >>
> >> Testing NcDim::getSize()                                   -----------   
> >> passed
> >>
> >> Testing NcDim::getParentGroup()                            -----------   
> >> passed
> >>
> >> Testing NcDim::getName()                                   -----------   
> >> passed
> >>
> >> Testing NcGroup::getDimCount([netCDF::Location])           -----------   
> >> passed
> >>
> >> Testing NcGroup::getDims([netCDF::Location])               -----------   
> >> passed
> >>
> >> Testing NcGroup::getDims("name",[netCDF::Location])        -----------   
> >> passed
> >>
> >> Testing NcGroup::getDim("name",[netCDF::Location])         -----------   
> >> passed
> >>
> >> PASS: test_dim
> >>
> >> Opening file "firstFile.cdf" with NcFile::replace
> >>
> >> Testing addGroup("groupName")                              -----------   
> >> passed
> >>
> >> Testing putAtt("attName","typeName",len,dataValues)        -----------   
> >> passed
> >>
> >> Testing getAttLength()                                     -----------   
> >> passed
> >>
> >> Testing getName()                                          -----------   
> >> passed
> >>
> >> Testing getType()                                          -----------   
> >> passed
> >>
> >> Testing getParentGroup()                                   -----------   
> >> passed
> >>
> >> Testing getValues()                                        -----------   
> >> passed
> >>
> >> Testing attCount([netCDF::Location])                       -----------   
> >> passed
> >>
> >> Testing getAtts([netCDF::Location])                        -----------   
> >> passed
> >>
> >> Testing getAtt("name",[netCDF::Location])                  -----------   
> >> passed
> >>
> >> Testing getAtts("name",[netCDF::Location])                 -----------   
> >> passed
> >>
> >> PASS: test_att
> >>
> >> Opening file "firstFile.cdf" with NcFile::replace
> >>
> >> Testing addGroup("groupName")                              -----------   
> >> passed
> >>
> >> Testing addDim("dimensionName")                            -----------   
> >> passed
> >>
> >> Testing addVar("varName","typeName","dimName")             -----------   
> >> passed
> >>
> >> Preparing for tests...only
> >>
> >> Testing addCount([netCDF::Location])                       -----------   
> >> passed
> >>
> >> Testing getVars([netCDF::Location])                        -----------   
> >> passed
> >>
> >> Testing getVar("name",[netCDF::Location])                  -----------   
> >> passed
> >>
> >> Testing getVars("name",[netCDF::Location])                 -----------   
> >> passed
> >>
> >> PASS: test_var
> >>
> >> i =0 vector=10
> >>
> >> i =1 vector=12
> >>
> >> i =2 vector=14
> >>
> >> i =3 vector=16
> >>
> >> i =4 vector=0
> >>
> >> i =5 vector=0
> >>
> >> i =6 vector=0
> >>
> >> i =7 vector=0
> >>
> >> i =8 vector=0
> >>
> >> i =9 vector=0
> >>
> >> 1
> >>
> >> fill parameter =13
> >>
> >> checksum  =0
> >>
> >> chunking parameters: chunk mode=0    Chunk sizes=5
> >>
> >> endianness =1
> >>
> >> shuffleFilterEnabled = 0
> >>only
> >> deflateFilterEnabled = 1
> >>
> >> deflateLevel = 9
> >>
> >> parentGroup =/
> >>
> >> name =var_2
> >>only
> >> dimCount =1
> >>
> >> dimName =dim1
> >>
> >> nctypeName =int
> >>
> >> varAtt variable name =var_2
> >>
> >> PASS: test_var2
> >>
> >> Opening file "firstFile.cdf" with NcFile::replace
> >>
> >> Testing addGroup("groupName")                                -----------   
> >> passed
> >>
> >> Testing getName()                                            -----------   
> >> passed
> >>
> >> Testing getParentGroup() and isNull()                        -----------   
> >> passed
> >>
> >> Testing getSize()                                            -----------   
> >> passed
> >>
> >> Testing getTypeClass()                                       -----------   
> >> passed
> >>
> >> Testing getTypeClassName()                                   -----------   
> >> passed
> >>
> >> Testing creating new Compound Type                           -----------   
> >> passed
> >>
> >> Testing NcCompoundType::addMember()                          -----------   
> >> passed
> >>
> >> Testing NcCompoundType==>NcType && NcType::getTypeClass()    -----------   
> >> passed
> >>
> >> Testing compoundClass.getMemberCount()                       -----------   
> >> passed
> >>
> >> Testing NcCompoundType::getMemberDimCount()                  -----------   
> >> passed
> >>
> >> Testing NcCompoundType::getMemberShape(index)                -----------   
> >> passed
> >>
> >> Testing NcCompoundType::getMember(index).getName()           -----------   
> >> passed
> >>
> >> Testing NcCompoundType == NcType                             -----------   
> >> passed
> >>
> >> Testing NcCompoundType == NcCompoundType                     -----------   
> >> passed
> >>
> >> Testing creating new Vlen Type                               -----------   
> >> passed
> >>
> >> Testing NcVlenType::getTypeClass()                           -----------   
> >> passed
> >>
> >> Testing NcVlenType::getTypeClassName()                       -----------   
> >> passed
> >>
> >> Testing NcVlenType::getName()                                -----------   
> >> passed
> >>
> >> Testing NcVlenType::getBaseType(); == and !=                 -----------   
> >> passed
> >>
> >> Testing NcVlenType constructors                              -----------   
> >> passed
> >>
> >> Testing creating new Enum Type                               -----------   
> >> passed
> >>
> >> Testing NcEnumType::addMember()                              -----------   
> >> passed
> >>
> >> Testing NcEnumType::getBaseType() == and !=                  -----------   
> >> passed
> >>
> >> Testing NcEnumType::getMemberCount()                         -----------   
> >> passed
> >>
> >> Testing NcEnumType::getMemberNameFromIndex(index)            -----------   
> >> passed
> >>
> >> terminate called after throwing an instance of 
> >> 'netCDF::exceptions::NcHdfErr'
> >>
> >> what():  NcHdfErr: An error was reported by the HDF5 layer.
> >>
> >> file: ncFile.cpp  line:15
> >>
> >> Testing NcEnumType::getMemberNameFromValue(index)        /bin/sh: line 1:  
> >> 8855 Aborted                 ${dir}$tst
> >>
> >> FAIL: test_type
> >>
> >> ================================================
> >>
> >> 1 of 7 tests failed
> >>
> >> Please report to address@hidden
> >>
> >> ================================================
> >>
> >> make[2]: *** [check-TESTS] Error 1
> >>
> >> make[2]: Leaving directory `/scratch/pbisbal/build/netcdf-cxx4-4.2/cxx4'
> >>
> >> make[1]: *** [check-am] Error 2
> >>
> >> make[1]: Leaving directory `/scratch/pbisbal/build/netcdf-cxx4-4.2/cxx4'
> >>
> >> make: *** [check-recursive] Error 1
> >>
> >> --
> >> Prentice Bisbal
> >> Manager of Information Technology
> >> Rutgers Discovery Informatics Institute (RDI2)
> >> Rutgers University
> >> http://rdi2.rutgers.edu
> >>
> >>
> > Russ Rew                                         UCAR Unidata Program
> > address@hidden                      http://www.unidata.ucar.edu
> >
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: SNP-665192
> > Department: Support netCDF
> > Priority: Normal
> > Status: Closed
> >
> 
> 
> 
Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: SNP-665192
Department: Support netCDF
Priority: Normal
Status: Closed