NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Dear Sirs; I mistakenly sent the following message to netcdfgroup-adm@xxxxxxxxxxxxxxxx. I hereby send it to the correct netcdf mailing list address netcdfgroup@xxxxxxxxxxxxxxxx. I have just completed the installation of netCDF V. 2.0.2 on my HP9000/720 work station running HP-UX 8.0.5 and got all the test to run successfully. I copied the discussion in netcdfgroup from unidata.ucar.edu by ftp before I started and had a look at messages that referred to HP-UX. It appears that some people have had problems with installing netCDF on HP-UX. I therefore post my installation points in case they might be useful to others trying to use netCDF on HP-UX. I include a shell archive at the end of this message. It contains the hpux.m4 and hpux0.inc files required for the netCDF fortran interface, a patch file with the changes that I found necessary to make netCDF run on the HP9000/720 and two LOG files with the output from the compilation, testing and installation of netCDF. The points below should be used with the netCDF distribution notes; not in place of them. netCDF seems to run at excellent speed on the HP9000/720. I have observed a throughput of more that 200K/sec for writing and more than 300K/sec for reading, which must be considered good. INSTALLATION COMMENTS: I made most of the changes suggested by kemp@xxxxxxxxxxxxxxxxxxxxx in a message dated 1990.11.09. I ran into several problems that required considerable debugging. 1) The method used for defining XDR_D_INFINITY does not alwasy work on HP-UX. The reason is that xdr_d_infinity[2] in src/array.c is defined as a long, so that it can conveniently be filled with a bit pattern. It is later cast to double in the macro XDR_D_INFINITY which is defined in netcdf.h. This causes problems on HP9000/720, because a valid address of a variable must start at a memory location, which is a multiple of the size of that variable (8 in the case of a double, but 4 in the case of a long). There is a 50/50 chance that the code in array.c works and in my case it didn't. I tried to change the memory location of xdr_d_infinity by trial and error and found that changing its length from 2 to 3 did the trick. This is of course a pure coincidence and may not work for other versions of the compiler in the future. It is possible to check whether the location of xdr_d_infinity is OK with a debugger (xdb or adb). If the hex address of xdr_d_infinity ends with a 0 it is OK, if not, you have to experiment with the code in array.c in order to change the location. It is desirable to change the representation of XDR_D_INFINITY and xdr_d_infinity future versions of netCDF so that it is truly portable to RISC computers (casting a long location to double is not safe on RISC machines). This bug explains the failure of ncgen in the test run (Termination code 136 or 138), which is reported by dockhorn@xxxxxxxxxxxxxxxxxxx and piedro@xxxxxxxxxxxxxxxx. These problems were not reported by langdon@xxxxxxxxxxxxxx; perhaps he is using a different version of the compiler; this indicates that some HP-UX users do not need to (and therefore should not) modify array.c. 2) I ran into another problem with the testing of ncgen when I had solved the problem with XDR_D_INFINITY. This problem turned out to be caused by a casting of a large double precision number (10000000000) from a test cdl file to long in ncgen/ncgenyy.c. I made a small change in ncgen.l so that this casting is not done unless the double precision number is sufficiently small. This modification makes it necessary to have both lex and yacc on the HP-UX machine where netCDF is to be installed. 3) The ANSI C compiler on HP-UX ("cc -Aa") does not seem to define "hpux" and "unix". The manual says that it should produce the same name space as the default if _HPUX_SOURCE is defined, but it doesn't. I therefore use -Dunix -Dhpux -D_HPUX_SOURCE in the COPTS macro in the make command. There may be other "defines" that need to be explicitly set in this way, but the code generated using the COPTS variable below seems to work. If "unix" is not defined, then temporary files are created in /usr/tmp, which may not by in the same file system as the cdf file, which is being modified. This leads to an error return in the rename() command in file.c. When "unix" is defined in COPTS, the temporary file is created in the current directory. This works as long as the netCDF file is located in the same file system as the current directory. This bug is the explanation of the failure of ncopen in the test run, which is reported by the same users as the XDR_D_INFINITY error. Again this problem is not reported by langdon@xxxxxxxxxxxxxx; that is probably because he installed netCDF on the file system where /usr/tmp is located. 4) The call to rename() in file.c does not work across file systems. Therefore, one may encounter errors if the netCDF file is not located in the same file system as the current directory where temporary files are created. This may be a general bug on other platforms, as I don't think rename() works across file systems on other machines. I made a small modification in file.c so that temporary files are created in the same directory as the netCDF file. The modification is only done on for hpux as I don't know if it would run on other machines. This might be something that should be changed in future versions of netCDF. INSTALLATION COMMANDS: 1) go to the directory below which the netCDF code should be generated 2) uncompress the netCDF 2.0.2 distribution; the netcdf directory is generated uncompress < netcdf.tar.Z | tar xf - 3) go to netcdf directory and unpack the files in the shar archive at the end of this mail message (<shar.file> is the name of a file containing just the shar archive and nothing else) cd netcdf sh <shar.file> the files nc-hpux-patch1, all.LOG and install.LOG are generated 4) patch the distribution patch -p0 < nc-hpux-patch1 5) make sure that the install.bsd command is in your PATH. if not, copy install.sh til a directory which is referenced in your PATH. 6) compile and test netCDF make OS=hpux_8.0.5 COPTS="-Aa -O -Dunix -Dhpux -D_HPUX_SOURCE -Wl,-a,archive" \ FC=fort77 FOPTS="-w -K" DESTDIR=/usr/contrib INSTALL=install.bsd \ RANLIB=touch BINMODE=755 LIBMODE=644 INCMODE=644 MANMODE=644 \ all > all.L 2>&1 & 7) compare the all.L file with the all.LOG file from my shar archive 8) install netCDF you will presumably want to change DESTDIR to something else; make install will not work unless you have write permission in DESTDIR/bin, DESTDIR/lib, DESTDIR/include, DESTDIR/man/man1 and DESTDIR/man/man3; if not it may be simplest to ask your system administrator to manually copy the required files (see install.LOG) to the desired locations make OS=hpux_8.0.5 COPTS="-Aa -O -Dunix -Dhpux -D_HPUX_SOURCE -Wl,-a,archive" \ FC=fort77 FOPTS="-w -K" DESTDIR=/usr/contrib INSTALL=install.bsd \ RANLIB=touch BINMODE=755 LIBMODE=644 INCMODE=644 MANMODE=644 \ install > install.L 2>&1 & 9) compare the install.L file with the install.LOG file from my shar archive good luck -- Tomas Johannesson Electronic mail: tj@xxxxx Orkustofnun (National Energy Authority) Grensasvegi 9, IS-108 Reykjavik, Iceland Phone: +354-1-696000 Fax: +354-1-688896 Home: 354-1-35639 # This is a shell archive. Remove anything before this line, # then unpack it by saving it in a file and typing "sh file". # # Wrapped by Tomas Johannesson <tj@skrifla> on Mon Jun 15 10:18:48 1992 # # This archive contains: # nc-hpux-patch1 fortran/hpux.m4 # fortran/hpux0.inc all.LOG # install.LOG # LANG=""; export LANG PATH=/bin:/usr/bin:$PATH; export PATH echo x - nc-hpux-patch1 cat >nc-hpux-patch1 <<'@EOF' *** ../netcdf.orig/src/netcdf.h Mon Dec 23 20:42:34 1991 --- src/netcdf.h Fri Jun 12 13:10:08 1992 *************** *** 40,46 **** * USE_ENUM so that nc_type is an enum. Otherwise, nc_type is * an int and the valid values are #defined. */ ! #if defined(sun) || defined(vax) || defined(NeXT) #define USE_ENUM #endif --- 40,46 ---- * USE_ENUM so that nc_type is an enum. Otherwise, nc_type is * an int and the valid values are #defined. */ ! #if defined(hpux) || defined(sun) || defined(vax) || defined(NeXT) #define USE_ENUM #endif *** ../netcdf.orig/src/local_nc.h Mon Dec 23 20:42:33 1991 --- src/local_nc.h Fri Jun 12 12:34:02 1992 *************** *** 47,52 **** --- 47,53 ---- #ifdef hpux #define SYSTEM_XDR_INCLUDES + #define USE_BFLAG #endif #ifdef convex *** ../netcdf.orig/src/array.c Mon Dec 23 20:42:25 1991 --- src/array.c Fri Jun 12 16:30:17 1992 *************** *** 148,154 **** --- 148,158 ---- #ifdef SWAP long xdr_d_infinity[2] = {0x00000000,0x7ff00000}; #else + #ifdef hpux + long xdr_d_infinity[3] = {0x7ff00000,0x00000000,0x00000000}; + #else long xdr_d_infinity[2] = {0x7ff00000,0x00000000}; + #endif #endif #endif /* *** ../netcdf.orig/src/file.c Mon Dec 23 20:42:30 1991 --- src/file.c Sat Jun 13 15:09:54 1992 *************** *** 451,457 **** --- 451,469 ---- */ #if !defined(cray) && !defined(NeXT) && !defined(convex) #if defined(unix) || defined(MSDOS) + #if defined(hpux) + { char *hpux_dir; + if(strchr(handle->path,'/') == NULL) + scratchfile = tempnam(getcwd((char*)NULL,FILENAME_MAX),"nc.") ; + else { + hpux_dir=strdup(handle->path) ; + *(strrchr(hpux_dir,'/')+1) = '\0' ; + scratchfile = tempnam(hpux_dir,"nc.") ; + } + } + #else scratchfile = tempnam(getcwd((char*)NULL,FILENAME_MAX),"nc.") ; + #endif #else scratchfile = tmpnam(NULL) ; #endif /* unix & !cray */ *** ../netcdf.orig/ncgen/ncgen.l Mon Dec 23 20:42:04 1991 --- ncgen/ncgen.l Fri Jun 12 16:58:08 1992 *************** *** 116,122 **** sprintf(errstr,"bad long constant: %s",yytext); yyerror(errstr); } ! if (dd == (double) ((long) dd)) { long_val = dd; return LONG_CONST; } else { --- 116,122 ---- sprintf(errstr,"bad long constant: %s",yytext); yyerror(errstr); } ! if ((dd>0?dd:-dd) < 2147483647 && dd == (double) ((long) dd)) { long_val = dd; return LONG_CONST; } else { @EOF chmod 644 nc-hpux-patch1 echo x - fortran/hpux.m4 cat >fortran/hpux.m4 <<'@EOF' divert(-1) # Name of system platform (for use in comments) define(`M4__SYSTEM', HP-UX) # transformation from fortran name to name of C module define(`NAMEF',`$1') # for HP-UX, use same name # transformation from string name to corresponding argument name define(`STRINGF',`$1') # extra arguments, if any, for string length define(`STRINGX',`, $1len') # one extra stringlen parameter # declaration to be used for argument name descriptor define(`STRINGD',` char *$1; `$2' int $1`'`len';') # declare argument string with extra stringlen parameter # declarations and initializations of canonical local variables define(`STRINGL',`') # FORTRAN declaration for a long integer (e.g. integer*4 for Microsoft) define(`LONG_INT',`integer') # FORTRAN declaration for a short integer (e.g. integer*2) define(`SHORT_INT',`integer*2') # FORTRAN declaration for an integer byte (e.g. integer*1 or byte) define(`BYTE_INT',`byte') # FORTRAN declaration for double precision (e.g. real for a Cray) define(`DOUBLE_PRECISION',`double precision') divert(0)dnl @EOF chmod 644 fortran/hpux.m4 echo x - fortran/hpux0.inc cat >fortran/hpux0.inc <<'@EOF' c machine specific xdr infinity constants c real XDRFINF double precision XDRDINF c ifdef vax c c parameter(XDRDINF = 1.7014118346046923e+38) c parameter(XDRFINF = 2.93873588e-39) c ifdef sun c parameter(XDRDINF = 1.797693134862315900e+308) c parameter(XDRFINF = 3.40282357e+38) c ifdef hpux parameter(XDRDINF = Z'7FF0000000000000') parameter(XDRFINF = Z'7F800000') c c Fill values c These values are stuffed into newly allocated space as appropriate. c The hope is that one might use these to notice that a particular dataum c has not been set. c integer FILBYTE,FILCHAR, FILSHORT,FILLONG real FILFLOAT double precision FILDOUB c c Largest Negative value parameter(FILBYTE = 128) parameter(FILCHAR = 0) parameter(FILSHORT = 32768) parameter(FILLONG = -2147483647-1) c IEEE Infinity parameter(FILFLOAT = XDRFINF) parameter(FILDOUB = XDRDINF) @EOF chmod 644 fortran/hpux0.inc rm -f /tmp/uud$$ (echo "begin 666 /tmp/uud$$\n#;VL*n#6%@x\n \nend" | uudecode) >/dev/null 2>&1 if [ X"`cat /tmp/uud$$ 2>&1`" = Xok ] then unpacker=uudecode else echo Compiling unpacker for non-ascii files pwd=`pwd`; cd /tmp cat >unpack$$.c <<'EOF' #include <stdio.h> #define C (*p++ - ' ' & 077) main() { int n; char buf[128], *p, a,b; scanf("begin %o ", &n); gets(buf); if (freopen(buf, "w", stdout) == NULL) { perror(buf); exit(1); } while (gets(p=buf) && (n=C)) { while (n>0) { a = C; if (n-- > 0) putchar(a << 2 | (b=C) >> 4); if (n-- > 0) putchar(b << 4 | (a=C) >> 2); if (n-- > 0) putchar(a << 6 | C); } } exit(0); } EOF cc -o unpack$$ unpack$$.c rm unpack$$.c cd $pwd unpacker=/tmp/unpack$$ fi rm -f /tmp/uud$$ echo x - all.LOG '[non-ascii]' $unpacker <<'@eof' begin 644 all.LOG M36%K:6YG(&!A;&PG(&EN("]B:&TO=FTO=7-E<B]T:B]N;W1O<R]H=6=B+VYEX M=&-D9B]N971C9&8O9F]R=')A;@H)+B]F;W)T8R M3" N("U/(&AP=7@@:F%CX M:V5T<RYS<F,@/B!J86-K971S+F,*"2]B:6XO8V,@+4DN+B]S<F,@+4%A("U/X M("U$=6YI>" M1&AP=7@@+41?2%!56%]33U520T4@+5=L+"UA+&%R8VAI=F4@X M+6,@:F%C:V5T<RYC"@DN+V9O<G1C("U,("X@+4\@:'!U>"!H<'5X,"YI;F,@X M8V]M;6]N+FEN8R ^(&YE=&-D9BYI;F,*36%K:6YG(&!A;&PG(&EN("]B:&TOX M=FTO=7-E<B]T:B]N;W1O<R]H=6=B+VYE=&-D9B]N971C9&8O>&1R"@DO8FENX M+V-C("U)8&EF(%L@+7H@(B]U<W(O:6YC;'5D92]R<&,B(%T[('1H96X@96-HX M;R N.R!<"@D)(" @(&5L<V4@96-H;R O=7-R+VEN8VQU9&4O<G!C.R!F:6 @X M("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7;"PM82QAX M<F-H:79E("UC('AD<G1E<W0N8PI-86MI;F<@8&%L;"<@:6X@+V)H;2]V;2]UX M<V5R+W1J+VYO=&]S+VAU9V(O;F5T8V1F+VYE=&-D9B]S<F,*"2]B:6XO8V,@X M+4E@:68@6R M>B B+W5S<B]I;F-L=61E+W)P8R(@73L@=&AE;B!E8VAO("XNX M+WAD<CL@96QS92!<"@D)(" @(&5C:&\@+W5S<B]I;F-L=61E+W)P8SL@9FE@X M(" M06$@+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$LX M87)C:&EV92 M8R!A<G)A>2YC"@DO8FEN+V-C("U)8&EF(%L@+7H@(B]U<W(OX M:6YC;'5D92]R<&,B(%T[('1H96X@96-H;R N+B]X9'([(&5L<V4@7 H)"2 @X M("!E8VAO("]U<W(O:6YC;'5D92]R<&,[(&9I8" @+4%A("U/("U$=6YI>" MX M1&AP=7@@+41?2%!56%]33U520T4@+5=L+"UA+&%R8VAI=F4@+6,@871T<BYCX M"@DO8FEN+V-C("U)8&EF(%L@+7H@(B]U<W(O:6YC;'5D92]R<&,B(%T[('1HX M96X@96-H;R N+B]X9'([(&5L<V4@7 H)"2 @("!E8VAO("]U<W(O:6YC;'5DX M92]R<&,[(&9I8" @+4%A("U/("U$=6YI>" M1&AP=7@@+41?2%!56%]33U52X M0T4@+5=L+"UA+&%R8VAI=F4@+6,@8V1F+F,*"2]B:6XO8V,@+4E@:68@6R MX M>B B+W5S<B]I;F-L=61E+W)P8R(@73L@=&AE;B!E8VAO("XN+WAD<CL@96QSX M92!<"@D)(" @(&5C:&\@+W5S<B]I;F-L=61E+W)P8SL@9FE@(" M06$@+4\@X M+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EV92 MX M8R!D:6TN8PH)+V)I;B]C8R M26!I9B!;("UZ("(O=7-R+VEN8VQU9&4O<G!CX M(B!=.R!T:&5N(&5C:&\@+BXO>&1R.R!E;'-E(%P*"0D@(" @96-H;R O=7-RX M+VEN8VQU9&4O<G!C.R!F:6 @("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA0X M55A?4T]54D-%("U7;"PM82QA<F-H:79E("UC(&9I;&4N8PH)+V)I;B]C8R MX M26!I9B!;("UZ("(O=7-R+VEN8VQU9&4O<G!C(B!=.R!T:&5N(&5C:&\@+BXOX M>&1R.R!E;'-E(%P*"0D@(" @96-H;R O=7-R+VEN8VQU9&4O<G!C.R!F:6 @X M("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7;"PM82QAX M<F-H:79E("UC(&EA<G)A>2YC"@DO8FEN+V-C("U)8&EF(%L@+7H@(B]U<W(OX M:6YC;'5D92]R<&,B(%T[('1H96X@96-H;R N+B]X9'([(&5L<V4@7 H)"2 @X M("!E8VAO("]U<W(O:6YC;'5D92]R<&,[(&9I8" @+4%A("U/("U$=6YI>" MX M1&AP=7@@+41?2%!56%]33U520T4@+5=L+"UA+&%R8VAI=F4@+6,@97)R;W(NX M8PH)+V)I;B]C8R M26!I9B!;("UZ("(O=7-R+VEN8VQU9&4O<G!C(B!=.R!TX M:&5N(&5C:&\@+BXO>&1R.R!E;'-E(%P*"0D@(" @96-H;R O=7-R+VEN8VQUX M9&4O<G!C.R!F:6 @("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]5X M4D-%("U7;"PM82QA<F-H:79E("UC(&=L;V)D968N8PH)+V)I;B]C8R M26!IX M9B!;("UZ("(O=7-R+VEN8VQU9&4O<G!C(B!=.R!T:&5N(&5C:&\@+BXO>&1RX M.R!E;'-E(%P*"0D@(" @96-H;R O=7-R+VEN8VQU9&4O<G!C.R!F:6 @("U!X M82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7;"PM82QA<F-HX M:79E("UC('!U=&=E="YC"@DO8FEN+V-C("U)8&EF(%L@+7H@(B]U<W(O:6YCX M;'5D92]R<&,B(%T[('1H96X@96-H;R N+B]X9'([(&5L<V4@7 H)"2 @("!EX M8VAO("]U<W(O:6YC;'5D92]R<&,[(&9I8" @+4%A("U/("U$=6YI>" M1&APX M=7@@+41?2%!56%]33U520T4@+5=L+"UA+&%R8VAI=F4@+6,@<VAA<G)A>2YCX M"@DO8FEN+V-C("U)8&EF(%L@+7H@(B]U<W(O:6YC;'5D92]R<&,B(%T[('1HX M96X@96-H;R N+B]X9'([(&5L<V4@7 H)"2 @("!E8VAO("]U<W(O:6YC;'5DX M92]R<&,[(&9I8" @+4%A("U/("U$=6YI>" M1&AP=7@@+41?2%!56%]33U52X M0T4@+5=L+"UA+&%R8VAI=F4@+6,@<W1R:6YG+F,*"2]B:6XO8V,@+4E@:68@X M6R M>B B+W5S<B]I;F-L=61E+W)P8R(@73L@=&AE;B!E8VAO("XN+WAD<CL@X M96QS92!<"@D)(" @(&5C:&\@+W5S<B]I;F-L=61E+W)P8SL@9FE@(" M06$@X M+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EVX M92 M8R!V87(N8PH)+V)I;B]C8R M26!I9B!;("UZ("(O=7-R+VEN8VQU9&4OX M<G!C(B!=.R!T:&5N(&5C:&\@+BXO>&1R.R!E;'-E(%P*"0D@(" @96-H;R OX M=7-R+VEN8VQU9&4O<G!C.R!F:6 @("U!82 M3R M1'5N:7@@+41H<'5X("U$X M7TA055A?4T]54D-%("U7;"PM82QA<F-H:79E("UC('9E<G-I;VXN8PH)87(@X M<G5V(&QI8FYE=&-D9BYA(&%R<F%Y+F\@871T<BYO(&-D9BYO(&1I;2YO(&9IX M;&4N;R!I87)R87DN;R!E<G)O<BYO("!G;&]B9&5F+F\@<'5T9V5T+F\@<VAAX M<G)A>2YO('-T<FEN9RYO('9A<BYO('9E<G-I;VXN;R @+BXO9F]R=')A;B]JX M86-K971S+F\@?'P@*')M("UF(&QI8FYE=&-D9BYA("8F(&%R(')C=B!L:6)NX M971C9&8N82!A<G)A>2YO(&%T='(N;R!C9&8N;R!D:6TN;R!F:6QE+F\@:6%RX M<F%Y+F\@97)R;W(N;R @9VQO8F1E9BYO('!U=&=E="YO('-H87)R87DN;R!SX M=')I;F<N;R!V87(N;R!V97)S:6]N+F\@("XN+V9O<G1R86XO:F%C:V5T<RYOX M*0IA<CH@8W)E871I;F<@;&EB;F5T8V1F+F$*82 M(&%R<F%Y+F\*82 M(&%TX M='(N;PIA("T@8V1F+F\*82 M(&1I;2YO"F$@+2!F:6QE+F\*82 M(&EA<G)AX M>2YO"F$@+2!E<G)O<BYO"F$@+2!G;&]B9&5F+F\*82 M('!U=&=E="YO"F$@X M+2!S:&%R<F%Y+F\*82 M('-T<FEN9RYO"F$@+2!V87(N;PIA("T@=F5R<VEOX M;BYO"F$@+2 N+B]F;W)T<F%N+VIA8VME=',N;PH)=&]U8V@@;&EB;F5T8V1FX M+F$*"2]B:6XO8V,@+4E@:68@6R M>B B+W5S<B]I;F-L=61E+W)P8R(@73L@X M=&AE;B!E8VAO("XN+WAD<CL@96QS92!<"@D)(" @(&5C:&\@+W5S<B]I;F-LX M=61E+W)P8SL@9FE@(" M06$@+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/X M55)#12 M5VPL+6$L87)C:&EV92 M8R!C9&9T97-T+F,*"7AD<F]B:G,]8&EFX M(%L@+7H@(B]U<W(O:6YC;'5D92]R<&,B(%T[('1H96X@96-H;R N+B]X9'(OX M>&1R+F\@7 H)"0DN+B]X9'(O>&1R9FQO870N;R N+B]X9'(O>&1R<W1D:6\NX M;R!<"@D)"2XN+WAD<B]X9')A<G)A>2YO.R!E;'-E(&5C:&\@(B([(&9I8#L@X M7 H)+V)I;B]C8R M26!I9B!;("UZ("(O=7-R+VEN8VQU9&4O<G!C(B!=.R!TX M:&5N(&5C:&\@+BXO>&1R.R!E;'-E(%P*"0D@(" @96-H;R O=7-R+VEN8VQUX M9&4O<G!C.R!F:6 @("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]5X M4D-%("U7;"PM82QA<F-H:79E(&-D9G1E<W0N;R!A<G)A>2YO(&%T='(N;R!CX M9&8N;R!D:6TN;R!F:6QE+F\@:6%R<F%Y+F\@97)R;W(N;R @9VQO8F1E9BYOX M('!U=&=E="YO('-H87)R87DN;R!S=')I;F<N;R!V87(N;R!V97)S:6]N+F\@X M)'MX9')O8FIS+7T@8&-A<V4@:'!U>%\X+C N-2!I;B!U;FEC;W,J*2!E8VAOX M("UL<G!C.SL@97-A8V @("UO(&-D9G1E<W0*36%K:6YG(&!A;&PG(&EN("]BX M:&TO=FTO=7-E<B]T:B]N;W1O<R]H=6=B+VYE=&-D9B]N971C9&8O;F-G96X*X M"2]B:6XO8V,@+4DN+B]S<F,@+4%A("U/("U$=6YI>" M1&AP=7@@+41?2%!5X M6%]33U520T4@+5=L+"UA+&%R8VAI=F4@+6,@;6%I;BYC"@DO8FEN+V-C("U)X M+BXO<W)C("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7X M;"PM82QA<F-H:79E("UC(&=E;F5R871E+F,*"2]B:6XO8V,@+4DN+B]S<F,@X M+4%A("U/("U$=6YI>" M1&AP=7@@+41?2%!56%]33U520T4@+5=L+"UA+&%RX M8VAI=F4@+6,@;&]A9"YC"@EL97@@;F-G96XN; H);78@;&5X+GEY+F,@;F-GX M96YY>2YC"@EY86-C("UD(&YC9V5N+GD*"6UV('DN=&%B+F,@;F-G96YT86(NX M8PH);78@>2YT86(N:"!N8V=E;G1A8BYH"@DO8FEN+V-C("U)+BXO<W)C("U!X M82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7;"PM82QA<F-HX M:79E("UC(&YC9V5N=&%B+F,*8V,Z(")N8V=E;GEY+F,B+"!L:6YE(#$R-3H@X M=V%R;FEN9R V,#0Z(%!O:6YT97)S(&%R92!N;W0@87-S:6=N;65N="UC;VUPX M871I8FQE+@IC8SH@(FYC9V5N>7DN8R(L(&QI;F4@,30Q.B!W87)N:6YG(#8PX M-#H@4&]I;G1E<G,@87)E(&YO="!A<W-I9VYM96YT+6-O;7!A=&EB;&4N"F-CX M.B B;F-G96YY>2YC(BP@;&EN92 Q-3 Z('=A<FYI;F<@-C T.B!0;VEN=&5RX M<R!A<F4@;F]T(&%S<VEG;FUE;G0M8V]M<&%T:6)L92X*8V,Z(")N8V=E;GEYX M+F,B+"!L:6YE(#$U.3H@=V%R;FEN9R V,#0Z(%!O:6YT97)S(&%R92!N;W0@X M87-S:6=N;65N="UC;VUP871I8FQE+@IC8SH@(FYC9V5N>7DN8R(L(&QI;F4@X M,3@Y.B!W87)N:6YG(#8P-#H@4&]I;G1E<G,@87)E(&YO="!A<W-I9VYM96YTX M+6-O;7!A=&EB;&4N"F-C.B B;F-G96YY>2YC(BP@;&EN92 R,3(Z('=A<FYIX M;F<@-C T.B!0;VEN=&5R<R!A<F4@;F]T(&%S<VEG;FUE;G0M8V]M<&%T:6)LX M92X*8V,Z(")N8V=E;GEY+F,B+"!L:6YE(#(R,CH@=V%R;FEN9R V,#0Z(%!OX M:6YT97)S(&%R92!N;W0@87-S:6=N;65N="UC;VUP871I8FQE+@H)+V)I;B]CX M8R M22XN+W-R8R M06$@+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#X M12 M5VPL+6$L87)C:&EV92 M8R!E<V-A<&5S+F,*"2]B:6XO8V,@+4DN+B]SX M<F,@+4%A("U/("U$=6YI>" M1&AP=7@@+41?2%!56%]33U520T4@+5=L+"UAX M+&%R8VAI=F4@+6,@9V5T9FEL;"YC"@DO8FEN+V-C("U)+BXO<W)C("U!82 MX M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7;"PM82QA<F-H:79EX M("UC(&EN:70N8PH)+V)I;B]C8R M22XN+W-R8R M06$@+4\@+41U;FEX("U$X M:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EV92 M8R!C;&]S92YCX M"@DO8FEN+V-C("U)+BXO<W)C("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA0X M55A?4T]54D-%("U7;"PM82QA<F-H:79E("UC(&1E<G)O<BYC"@DO8FEN+V-CX M("U)+BXO<W)C("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%X M("U7;"PM82QA<F-H:79E("UC(&5M86QL;V,N8PH)+V)I;B]C8R M06$@+4\@X M+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EV92 MX M;R!N8V=E;B!M86EN+F\@9V5N97)A=&4N;R!L;V%D+F\@;F-G96YT86(N;R!EX M<V-A<&5S+F\@(&=E=&9I;&PN;R!I;FET+F\@8VQO<V4N;R!D97)R;W(N;R @X M96UA;&QO8RYO("U,+BXO<W)C("UL;F5T8V1F("U,+W5S<B]C;VYT<FEB+VQIX M8B M;&YE=&-D9B!@8V%S92!H<'5X7S@N,"XU(&EN('5N:6-O<RHI(&5C:&\@X M+6QR<&,[.R!E<V%C8" *36%K:6YG(&!A;&PG(&EN("]B:&TO=FTO=7-E<B]TX M:B]N;W1O<R]H=6=B+VYE=&-D9B]N971C9&8O;F-D=6UP"@DO8FEN+V-C("U)X M+BXO<W)C("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7X M;"PM82QA<F-H:79E("UC(&YC9'5M<"YC"@DO8FEN+V-C("U)+BXO<W)C("U!X M82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7;"PM82QA<F-HX M:79E("UC('9A<F1A=&$N8PH)+V)I;B]C8R M22XN+W-R8R M06$@+4\@+41UX M;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EV92 M8R!LX M<'5T+F,*"2]B:6XO8V,@+4DN+B]S<F,@+4%A("U/("U$=6YI>" M1&AP=7@@X M+41?2%!56%]33U520T4@+5=L+"UA+&%R8VAI=F4@+6,@97)R;W(N8PH)+V)IX M;B]C8R M06$@+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPLX M+6$L87)C:&EV92 M;R!N8V1U;7 @;F-D=6UP+F\@=F%R9&%T82YO(&QP=70NX M;R!E<G)O<BYO("U,+BXO<W)C("UL;F5T8V1F("U,+W5S<B]C;VYT<FEB+VQIX M8B M;&YE=&-D9B!@8V%S92!H<'5X7S@N,"XU(&EN('5N:6-O<RHI(&5C:&\@X M+6QR<&,[.R!E<V%C8" *36%K:6YG(&!A;&PG(&EN("]B:&TO=FTO=7-E<B]TX M:B]N;W1O<R]H=6=B+VYE=&-D9B]N971C9&8O;F-T97-T"@DO8FEN+V-C("U)X M+BXO<W)C(" M06$@+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 MX M5VPL+6$L87)C:&EV92 M8R!V87)G970N8PH)+V)I;B]C8R M22XN+W-R8R @X M+4%A("U/("U$=6YI>" M1&AP=7@@+41?2%!56%]33U520T4@+5=L+"UA+&%RX M8VAI=F4@+6,@=F%R<'5T+F,*"2]B:6XO8V,@+4DN+B]S<F,@("U!82 M3R MX M1'5N:7@@+41H<'5X("U$7TA055A?4T]54D-%("U7;"PM82QA<F-H:79E("UCX M('9A<F1E9BYC"@DO8FEN+V-C("U)+BXO<W)C(" M06$@+4\@+41U;FEX("U$X M:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EV92 M8R!V87)T97-TX M<RYC"@DO8FEN+V-C("U)+BXO<W)C(" M06$@+4\@+41U;FEX("U$:'!U>" MX M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EV92 M8R!V<'5T9V5T+F,*"2]BX M:6XO8V,@+4DN+B]S<F,@("U!82 M3R M1'5N:7@@+41H<'5X("U$7TA055A?X M4T]54D-%("U7;"PM82QA<F-H:79E("UC(&1R:79E<BYC"@DO8FEN+V-C("U)X M+BXO<W)C(" M06$@+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 MX M5VPL+6$L87)C:&EV92 M8R!C9&9T97-T<RYC"@DO8FEN+V-C("U)+BXO<W)CX M(" M06$@+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$LX M87)C:&EV92 M8R!D:6UT97-T<RYC"@DO8FEN+V-C("U)+BXO<W)C(" M06$@X M+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EVX M92 M8R!A='1T97-T<RYC"@DO8FEN+V-C("U)+BXO<W)C(" M06$@+4\@+41UX M;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EV92 M8R!MX M:7-C=&5S="YC"@DO8FEN+V-C("U)+BXO<W)C(" M06$@+4\@+41U;FEX("U$X M:'!U>" M1%](4%587U-/55)#12 M5VPL+6$L87)C:&EV92 M8R!A9&0N8PH)X M+V)I;B]C8R M22XN+W-R8R @+4%A("U/("U$=6YI>" M1&AP=7@@+41?2%!5X M6%]33U520T4@+5=L+"UA+&%R8VAI=F4@+6,@97)R;W(N8PH)+V)I;B]C8R MX M22XN+W-R8R @+4%A("U/("U$=6YI>" M1&AP=7@@+41?2%!56%]33U520T4@X M+5=L+"UA+&%R8VAI=F4@+6,@96UA;&QO8RYC"@DO8FEN+V-C("U)+BXO<W)CX M(" M06$@+4\@+41U;FEX("U$:'!U>" M1%](4%587U-/55)#12 M5VPL+6$LX M87)C:&EV92 M8R!V86PN8PH)+V)I;B]C8R M22XN+W-R8R @+4%A("U/("U$X M=6YI>" M1&AP=7@@+41?2%!56%]33U520T4@+5=L+"UA+&%R8VAI=F4@+6,@X M<VQA8G,N8PH)+V)I;B]C8R M22XN+W-R8R @+4%A("U/("U$=6YI>" M1&APX M=7@@+41?2%!56%]33U520T4@+5=L+"UA+&%R8VAI=F4@=F%R9V5T+F\@=F%RX M<'5T+F\@=F%R9&5F+F\@=F%R=&5S=',N;R!V<'5T9V5T+F\@9')I=F5R+F\@X M(&-D9G1E<W1S+F\@9&EM=&5S=',N;R!A='1T97-T<RYO(&UI<V-T97-T+F\@X M(&%D9"YO(&5R<F]R+F\@96UA;&QO8RYO('9A;"YO('-L86)S+F\@+4PN+B]SX M<F,@+6QN971C9&8@8&-A<V4@:'!U>%\X+C N-2!I;B!U;FEC;W,J*2!E8VAOX M("UL<G!C.SL@97-A8V @("UO(&YC=&5S= I-86MI;F<@8'1E<W0G(&EN("]BX M:&TO=FTO=7-E<B]T:B]N;W1O<R]H=6=B+VYE=&-D9B]N971C9&8O>&1R"BHJX M*B!81%(@<&%S<V5S(&9O<FUA='1E9"!T97-T("HJ*@HJ*BH@6$12('!A<W-EX M<R!B:6YA<GD@=&5S=" J*BH*36%K:6YG(&!T97-T)R!I;B O8FAM+W9M+W5SX M97(O=&HO;F]T;W,O:'5G8B]N971C9&8O;F5T8V1F+V9O<G1R86X*"2XO9F]RX M=&,@+4P@+B M3R!H<'5X(&9T97-T+G-R8R ^(&9T97-T+F8*"69O<G0W-R MX M=R M2R M8R!F=&5S="YF"F9T97-T+F8Z"B @($U!24X@9G1E<W0Z"B @('1NX M8V%C<'DZ"B @('1N8V%D96PZ"B @('1N8V%G=#H*(" @=&YC87!T.@H@("!"X M3$]#2R!$051!.@H@("!T;F-D9&5F.@H@("!T;F-I;G$Z"B @('1N8W)E9&8ZX M"B @('1N8W9D968Z"B @('1N8W9G=#H*(" @=&YC=F=T,3H*(" @=&YC=G!TX M.@H@("!T;F-V<'0Q.@H)9F]R=#<W("UW("U+("UO(&9T97-T(&9T97-T+F\@X M:F%C:V5T<RYO("U,+BXO<W)C("UL;F5T8V1F("U,+W5S<B]C;VYT<FEB+VQIX M8B M;&YE=&-D9B!@8V%S92!H<'5X7S@N,"XU(&EN('5N:6-O<RHI(&5C:&\@X M+6QR<&,[.R!E<V%C8" *"2XO9G1E<W0*("TM+2!497-T:6YG(&YC8W)E("XNX M+@H@+2TM(%1E<W1I;F<@;F-D9&5F("XN+@H@+2TM(%1E<W1I;F<@;F-V9&5FX M("XN+@H@+2TM(%1E<W1I;F<@;F-A<'0L(&YC87!T8R N+BX*("TM+2!497-TX M:6YG(&YC8VQO<R N+BX*("TM+2!497-T:6YG(&YC=G!T,2 N+BX*("TM+2!4X M97-T:6YG(&YC=F=T,2 N+BX*("TM+2!497-T:6YG(&YC=G!T("XN+@H@+2TMX M(%1E<W1I;F<@;F-O<&XL(&YC:6YQ+"!N8V1I;G$L(&YC=FEN<2P@;F-A;F%MX M+"!N8V%I;G$@+BXN"B M+2T@5&5S=&EN9R!N8W9G="P@;F-V9W1C("XN+@H@X M+2TM(%1E<W1I;F<@;F-A9W0L(&YC86=T8R N+BX*("TM+2!497-T:6YG(&YCX M<F5D9BP@;F-D<F5N+"!N8W9R96XL(&YC87)E;BP@;F-E;F1F("XN+@H@+2TMX M(%1E<W1I;F<@;F-A8W!Y("XN+@H@+2TM(%1E<W1I;F<@;F-A9&5L("XN+@I-X M86MI;F<@8'1E<W0G(&EN("]B:&TO=FTO=7-E<B]T:B]N;W1O<R]H=6=B+VYEX M=&-D9B]N971C9&8O;F-G96X**BHJ(&YC9V5N("UN('1E<W0@<W5C8V5S<V9UX M;" J*BH**BHJ(&YC9V5N("UC('1E<W0@<W5C8V5S<V9U;" J*BH*=&5S=# NX M9CH*(" @34%)3B!F=&5S=# Z"BHJ*B!N8V=E;B M9B!T97-T('-U8V-E<W-FX M=6P@*BHJ"DUA:VEN9R!@=&5S="<@:6X@+V)H;2]V;2]U<V5R+W1J+VYO=&]SX M+VAU9V(O;F5T8V1F+VYE=&-D9B]N8V1U;7 **BHJ(&YC9'5M<"!T97-T('-UX M8V-E<W-F=6P@*BHJ"DUA:VEN9R!@=&5S="<@:6X@+V)H;2]V;2]U<V5R+W1JX M+VYO=&]S+VAU9V(O;F5T8V1F+VYE=&-D9B]N8W1E<W0*"2XO;F-T97-T"BTMX M+2!497-T:6YG(&YC8W)E871E("XN+@HM+2T@5&5S=&EN9R!N8V]P96X@+BXNX M"BTM+2!497-T:6YG(&YC<F5D968@+BXN"BTM+2!497-T:6YG(&YC96YD968@X M+BXN"BTM+2!497-T:6YG(&YC8VQO<V4@+BXN"BTM+2!497-T:6YG(&YC:6YQX M=6ER92 N+BX*+2TM(%1E<W1I;F<@;F-S>6YC("XN+@HM+2T@5&5S=&EN9R!NX M8V%B;W)T("XN+@HM+2T@5&5S=&EN9R!N8V1I;61E9B N+BX*+2TM(%1E<W1IX M;F<@;F-D:6UI9" N+BX*+2TM(%1E<W1I;F<@;F-D:6UI;G$@+BXN"BTM+2!4X M97-T:6YG(&YC9&EM<F5N86UE("XN+@HM+2T@5&5S=&EN9R!N8W9A<F1E9B NX M+BX*+2TM(%1E<W1I;F<@;F-V87)I9" N+BX*+2TM(%1E<W1I;F<@;F-V87)IX M;G$@+BXN"BTM+2!497-T:6YG(&YC=F%R<'5T,2 N+BX*+2TM(%1E<W1I;F<@X M;F-V87)G970Q("XN+@HM+2T@5&5S=&EN9R!N8W9A<G!U=" N+BX*+2TM(%1EX M<W1I;F<@;F-V87)G970@+BXN"BTM+2!497-T:6YG(&YC=F%R<F5N86UE("XNX M+@HM+2T@5&5S=&EN9R!N8V%T='!U=" N+BX*+2TM(%1E<W1I;F<@;F-A='1IX M;G$@+BXN"BTM+2!497-T:6YG(&YC871T9V5T("XN+@HM+2T@5&5S=&EN9R!NX M8V%T=&-O<'D@+BXN"BTM+2!497-T:6YG(&YC871T;F%M92 N+BX*+2TM(%1EX M<W1I;F<@;F-A='1R96YA;64@+BXN"BTM+2!497-T:6YG(&YC871T9&5L("XNX <+@HM+2T@5&5S=&EN9R!N8W1Y<&5L96X@+BXN"G-T X X end @eof chmod 644 all.LOG echo x - install.LOG cat >install.LOG <<'@EOF' Making `install' in /bhm/vm/user/tj/notos/hugb/netcdf/netcdf/xdr Making `install' in /bhm/vm/user/tj/notos/hugb/netcdf/netcdf/src install.bsd -c -m 644 libnetcdf.a /usr/contrib/lib/libnetcdf.a touch /usr/contrib/lib/libnetcdf.a install /usr/contrib/include/netcdf.h Making `install' in /bhm/vm/user/tj/notos/hugb/netcdf/netcdf/fortran install.bsd -c -m 644 netcdf.inc /usr/contrib/include Making `install' in /bhm/vm/user/tj/notos/hugb/netcdf/netcdf/ncgen install.bsd -c -m 755 ncgen /usr/contrib/bin Making `install' in /bhm/vm/user/tj/notos/hugb/netcdf/netcdf/ncdump install.bsd -c -m 755 ncdump /usr/contrib/bin Making `install' in /bhm/vm/user/tj/notos/hugb/netcdf/netcdf/doc cp ncdump.1 /usr/contrib/man/man1/ncdump.1 && chmod 644 /usr/contrib/man/man1/ncdump.1 cp ncgen.1 /usr/contrib/man/man1/ncgen.1 && chmod 644 /usr/contrib/man/man1/ncgen.1 cp netcdf.3 /usr/contrib/man/man3/netcdf.3 && chmod 644 /usr/contrib/man/man3/netcdf.3 cp netcdf.3f /usr/contrib/man/man3/netcdf.3f && chmod 644 /usr/contrib/man/man3/netcdf.3f @EOF chmod 644 install.LOG rm -f /tmp/unpack$$ exit 0
netcdfgroup
archives: