Re: [netcdfgroup] Error Building netCDF-C 4.4.1 with macOS PGI 16.10

  • To: "Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC]" <matthew.thompson@xxxxxxxx>
  • Subject: Re: [netcdfgroup] Error Building netCDF-C 4.4.1 with macOS PGI 16.10
  • From: Ward Fisher <wfisher@xxxxxxxx>
  • Date: Tue, 29 Nov 2016 10:41:53 -0700
Hi Matt,

Thanks for posting this; I didnât know PGI had a community edition
available. This will make addressing pgi-specific issues (like this one) a
lot easier.

I was able to work past this issue by passing -DNDEBUG to the compiler;
this removes the assert statements. However, Iâm encountering some other
issues. Particularly, Iâm seeing:

#warning This version of Xcode is not supported by PGI

You donât mention what version of Xcode and OSX youâre working with, but I
assume you arenât seeing these?

Iâll follow up with you offline as I figure things out, now that Iâve
installed the PGI compiler. If anybody else has encountered this issue and
can suggest a fix, feedback is much appreciated and will find its way into
the upcoming 4.4.2 release!

-Ward

On Tue, Nov 29, 2016 at 10:01 AM, Thompson, Matt (GSFC-610.1)[SCIENCE
SYSTEMS AND APPLICATIONS INC] <matthew.thompson@xxxxxxxx> wrote:

All,
>
> I recently installed the free Community Edition of PGI 16.10 for macOS and
> using it and the built-in mpich3, am trying to build a set of base
> libraries for a weather model I work on.
>
> Everything seemed to go okay, even HDF5 with parallel on (make check was
> all good), but when I got to netCDF-C it threw this:
>
> Making install in libsrc4
>> source='nc4file.c' object='libnetcdf4_la-nc4file.lo' libtool=yes \
>>    DEPDIR=.deps depmode=pgcc /bin/sh ../depcomp \
>>    /bin/sh ../libtool  --tag=CC   --mode=compile mpicc -DHAVE_CONFIG_H
>> -I. -I..  -I../include    -DpgiFortran  -I/Users/mathomp4/installed/MP
>> I/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/zlib
>>   
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/szlib
>>   
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/jpeg
>>   
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/hdf5
>>   
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/hdf
>>   
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/uuid
>>   
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/netcdf
>>   -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs
>> /5.0.2/Darwin/include/udunits2     -c -o libnetcdf4_la-nc4file.lo `test
>> -f 'nc4file.c' || echo './'
>>
> `nc4file.c
>
>> libtool: compile:  mpicc -DHAVE_CONFIG_H -I. -I.. -I../include
>> -DpgiFortran 
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/zlib
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/szlib
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/jpeg
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/hdf5
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/hdf
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/uuid
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/netcdf
>> -I/Users/mathomp4/installed/MPI/pgi-16.10/mpich-3.2/Baselibs/5.0.2/Darwin/include/udunits2
>> -c nc4file.c -MD -o libnetcdf4_la-nc4file.o
>> PGC-S-0056-Attempt to call non-function (nc4file.c: 3058)
>> PGC-W-0095-Type cast required for this conversion (nc4file.c: 3058)
>> PGC/x86-64 OSX 16.10-0: compilation completed with severe errors
>> make[3]: *** [libnetcdf4_la-nc4file.lo] Error 1
>> make[2]: *** [install-recursive] Error 1
>> make[1]: *** [netcdf.install] Error 2
>> make: *** [install] Error 2
>>
>
> The line in question is pretty boring, an assert:
>
> 3050 /* This function will free all allocated metadata memory, and close
>> 3051    the HDF5 file. The group that is passed in must be the root group
>> 3052    of the file. */
>> 3053 static int
>> 3054 close_netcdf4_file(NC_HDF5_FILE_INFO_T *h5, int abort)
>> 3055 {
>> 3056    int retval = NC_NOERR;
>> 3057
>> 3058    assert(h5 && h5->root_grp);
>> 3059    LOG((3, "%s: h5->path %s abort %d", __func__,
>> h5->controller->path, abort));
>> 3060
>>
>
> and asserts like that seem to pepper that file.
>
> Any ideas? I haven't tried 4.4.1.1 because nc4file.c didn't seem to change
> much in close_netcdf4_file.
>
>
> --
> Matt Thompson, SSAI, Sr Scientific Programmer/Analyst
> NASA GSFC,    Global Modeling and Assimilation Office
> Code 610.1,  8800 Greenbelt Rd,  Greenbelt,  MD 20771
> Phone: 301-614-6712                 Fax: 301-614-6246
> http://science.gsfc.nasa.gov/sed/bio/matthew.thompson
> _______________________________________________
> NOTE: All exchanges posted to Unidata maintained email lists are
> recorded in the Unidata inquiry tracking system and made publicly
> available through the web.  Users who post to any of the lists we
> maintain are reminded to remove any personal information that they
> do not want to be made public.
>
>
> netcdfgroup mailing list
> netcdfgroup@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe,  visit:
> http://www.unidata.ucar.edu/mailing_lists/

â