netCDF

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



  • 1992 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: