This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Jack, >Date: Mon, 10 May 2004 11:55:15 -0500 >From: Jack Williams <address@hidden> >Organization: Limnological Research Center >To: Steve Emmerson <address@hidden> >Subject: Re: 20040503: Installing NetCDF 3.5.1 under Cygwin on Windows 2000 The above message contained the following: > > A. Replace the rule for targets "ncgentab.c" and "ncgentab.h" > > with the following > > > > bison -y -d ncgen.y > > mv y.tab.c ncgentab.c > > mv y.tab.h ncgentab.h ... > Steps 1 & 2 were straightforward. > For step 3, I used "flex -l" in place of lex. I replaced two instances > of $(yacc) with "bison -y" and two instances of $(lex) with " flex -l" > with I also replaced. Interesting. My flex(1) doesn't have a "-l" option. It shouldn't hurt. > During step 4, I get the following error message... > > $ make > Warning: ncgentab.c is out-of-date with respect to ncgen.y > Warning: It should be recreated via yacc on an OSF/1 system > gcc -c -O -I../libsrc -I. -Df2cFortran ncgentab.c > gcc: ncgentab.c: No such file or directory > gcc: no input files > make: *** [ncgentab.o] Error 1 > > Not sure why Make isn't successfully creating ncgentab.c. It does > appear to create ncgenyy.c successfully... The modified and original > Makefiles are attached. You needed to REPLACE THE ENTIRE RULE for the "ncgentab.c" and "ncgentab.h" targets, i.e., change ncgentab.c \ ncgentab.h: ncgen.y ncgenyy.c ncgen.h @case `uname` in \ OSF1) \ echo 1>&2 "(expect 1 shift/reduce conflict)"; \ set -x; \ bison -y -d ncgen.y; \ cat y.tab.c >ncgentab.c && rm y.tab.c; \ cat y.tab.h >ncgentab.h && rm y.tab.h; \ set +x; \ ;; \ *) echo 1>&2 "Warning: $@ is out-of-date with respect to ncgen.y"; \ echo 1>&2 "Warning: It should be recreated via $(yacc)" \ "on an OSF/1 system"; \ : set -x; \ : bison -y -d ncgen.y; \ : mv y.tab.c ncgentab.c; \ : mv y.tab.h ncgentab.h; \ : set +x; \ ;; \ esac to ncgentab.c \ ncgentab.h: ncgen.y ncgenyy.c ncgen.h bison -y -d ncgen.y mv y.tab.c ncgentab.c mv y.tab.h ncgentab.h Replace the rule, remove the files "ncgentab.c" and "ncgentab.h", and try again. > Thanks, > Jack > > -- > > **NEW CONTACT INFORMATION (8/21/03)** > Jack Williams (address@hidden) > Limnological Research Center > Dept. of Geology and Geophysical Sciences > 310 Pillsbury Drive SE > 108 Pillsbury Hall > Minneapolis, MN 55455-0219 > +1-612-626-0401 (office) > +1-612-625-3819 (fax) ... Regards, Steve Emmerson