Dennis,
This is a heads up that I ran into the same problem on NCAR's yellowstone
system using GNU 4.4.7. You mod to the dceparselex.h file seemed to fix the
issue. I only had the issue if I built the OPenDAP-enabled version of
NetCDF.
I will now try building this version using a several other compilers on
yellowstone and other Linux systems.
FTR, I was able to build it on my Mavericks and El Capitan Macs last night
without having to make any changes.
--Mary
On Sun, Jul 10, 2016 at 10:04 AM, Capehart, William J <
William.Capehart@xxxxxxxxx> wrote:
> Thanks Dennis:
>
> I believe that worked.
>
> For the record our gcc library is
>
> libgomp-4.4.7-17.el6.x86_64
> libstdc++-devel-4.4.7-17.el6.x86_64
> libgnat-4.4.7-17.el6.x86_64
> libgnat-devel-4.4.7-17.el6.x86_64
> gcc-gfortran-4.4.7-17.el6.x86_64
> cpp-4.4.7-17.el6.x86_64
> libgcj-4.4.7-17.el6.x86_64
> libgcj-devel-4.4.7-17.el6.x86_64
> gcc-4.4.7-17.el6.x86_64
> gcc-java-4.4.7-17.el6.x86_64
> libstdc++-4.4.7-17.el6.x86_64
> db4-4.7.25-20.el6_7.x86_64
> libgfortran-4.4.7-17.el6.x86_64
> libgcc-4.4.7-17.el6.x86_64
> gcc-c++-4.4.7-17.el6.x86_64
> gcc-gnat-4.4.7-17.el6.x86_64
>
> Cheers,
> Bill Capehart
> SDMines
>
> On 7/9/16, 20:18 MDT, "dmh@xxxxxxxx" <dmh@xxxxxxxx> wrote:
>
> Not sure what is going on; it seems to compile ok for me
> using gcc version 4.9.3 (under cygwin).
> It is possible that other version will not allow
> specifying the same typedef multiple times.
>
> In any case, I am attaching the modified dceparselex.h that you
> should use (I think is the same as the changes I suggested).
> =Dennis Heimbigner
> Unidata
>
> On 7/9/2016 6:14 PM, Capehart, William J wrote:
> > Thanks Dennis.
> >
> > That got me over one hump.
> >
> > Alas there is a new hump though (also in the libdap2 directory):
> >
> > Making all in libdap2
> > make[2]: Entering directory `/usr/local/netcdf-4.4.1/libdap2'
> > /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
> -I.. -I../include -I../oc2 -I../libsrc4 -I/usr/local/netcdf/include
> -Msignextend -fPIC -MT libdap2_la-constraints.lo -MD -MP -MF
> .deps/libdap2_la-constraints.Tpo -c -o libdap2_la-constraints.lo `test -f
> 'constraints.c' || echo './'`constraints.c
> > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../oc2
> -I../libsrc4 -I/usr/local/netcdf/include -Msignextend -fPIC -MT
> libdap2_la-constraints.lo -MD -MP -MF .deps/libdap2_la-constraints.Tpo -c
> constraints.c -fPIC -DPIC -o .libs/libdap2_la-constraints.o
> > In file included from dceparselex.h:14,
> > from constraints.c:7:
> > dcetab.h:63: error: expected ‘)’ before ‘*’ token
> > In file included from constraints.c:7:
> > dceparselex.h:49: warning: useless storage class specifier in empty
> declaration
> > dceparselex.h:57: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:58: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:61: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:63: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:64: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:65: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:66: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:67: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:68: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:69: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:70: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:71: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:72: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:73: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:74: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:75: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:76: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:77: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:78: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:79: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:81: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:82: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:83: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:84: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:85: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:86: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:87: error: expected ‘)’ before ‘*’ token
> > dceparselex.h:90: error: expected declaration specifiers or ‘...’ before
> ‘DCEparsestate’
> > make[2]: *** [libdap2_la-constraints.lo] Error 1
> > make[2]: Leaving directory `/usr/local/netcdf-4.4.1/libdap2'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/usr/local/netcdf-4.4.1'
> > make: *** [all] Error 2
> >
> >
> >
> > On 7/9/16, 18:04 MDT, "dmh@xxxxxxxx" <dmh@xxxxxxxx> wrote:
> >
> > Odd, something changed at some point.
> > In any case try changing line 50(?)
> > from
> > typedef struct DCEparsestate {
> > to
> > struct DCEparsestate {
> >
> > and line 55(?)
> > from
> > } DCEparsestate;
> > to
> > };
> >
> > On 7/9/2016 5:34 PM, Capehart, William J wrote:
> >> Hello All:
> >>
> >>
> >>
> >> I am getting the following compile error in the ./libdap2 directory when
> >> building NetCDF 4.4.1 with the opendap options enabled (the error
> >> disappears when I disable DAP on configure).
> >>
> >>
> >>
> >> Making all in libdap2
> >>
> >> make[2]: Entering directory `/usr/local/netcdf-4.4.1/libdap2'
> >>
> >> /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
> >> -I.. -I../include -I../oc2 -I../libsrc4 -I/usr/local/netcdf/include
> >> -Msignextend -fPIC -MT libdap2_la-constraints.lo -MD -MP -MF
> >> .deps/libdap2_la-constraints.Tpo -c -o libdap2_la-constraints.lo `test
> >> -f 'constraints.c' || echo './'`constraints.c
> >>
> >> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../oc2
> >> -I../libsrc4 -I/usr/local/netcdf/include -Msignextend -fPIC -MT
> >> libdap2_la-constraints.lo -MD -MP -MF .deps/libdap2_la-constraints.Tpo
> >> -c constraints.c -fPIC -DPIC -o .libs/libdap2_la-constraints.o
> >>
> >> In file included from constraints.c:7:
> >>
> >> dceparselex.h:49: error: redefinition of typedef ‘DCEparsestate’
> >>
> >> dceparselex.h:11: note: previous declaration of ‘DCEparsestate’ was here
> >>
> >> make[2]: *** [libdap2_la-constraints.lo] Error 1
> >>
> >> make[2]: Leaving directory `/usr/local/netcdf-4.4.1/libdap2'
> >>
> >> make[1]: *** [all-recursive] Error 1
> >>
> >> make[1]: Leaving directory `/usr/local/netcdf-4.4.1'
> >>
> >> make: *** [all] Error 2
> >>
> >>
> >>
> >>
> >>
> >> Has anyone else encountered this?
> >>
> >>
> >>
> >> I am building with libcurl 7.49.1 locally installed (it also happens
> >> without a local install and just using the centos rpms’s libraries).
> >>
> >>
> >>
> >> The pesky lines noted above are as follows…
> >>
> >>
> >>
> >> dceparselex.h:~11
> >>
> >>
> >>
> >> /* Forward */
> >>
> >> struct DCEparsestate;
> >>
> >> typedef struct DCEparsestate DCEparsestate;
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> and
> >>
> >>
> >>
> >> dceparselex.h:~49
> >>
> >>
> >>
> >> /*! Specifies DCEparsestate. */
> >>
> >> typedef struct DCEparsestate {
> >>
> >> DCEconstraint* constraint;
> >>
> >> char errorbuf[1024];
> >>
> >> int errorcode;
> >>
> >> DCElexstate* lexstate;
> >>
> >> } DCEparsestate;
> >>
> >>
> >>
> >> Cheers and Thanks Much
> >>
> >>
> >>
> >> ================================================================
> >>
> >> Bill Capehart <William.Capehart@xxxxxxxxx> Associate Professor
> >>
> >> Atmospheric & Environmental Sciences Program Director
> >>
> >> Civil and Environmental Engineering Hydrometeorology
> >>
> >> 213 Mineral Industries Building
> >>
> >> South Dakota School of Mines and Technology Skype: wcapehart
> >>
> >> 501 East Saint Joseph Street Ph: +1-605-394-1994
> >>
> >> Rapid City, SD 57701-3995 Mobile: +1-605-484-5692
> >>
> >> =================== http://capehart.sdsmt.edu ==================
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> 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/
> >>
> >
> >
>
>
> _______________________________________________
> 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/
>