[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Netcdf installation problem on Convex C230



> Organization: MUMM (CAMME)
> Keywords: 199407081317.AA11412 netCDF 2.32 install Convex

Hi Serge,

> When trying to install NetCDF on our Convex C230, I get the following
> messages. Can you help me ?
  ...
> ================ make.log ===========================================
> 
> making `all' in directory /usrs0/camme/ss/netcdf-232pl2/port

 ...

> cc -c -I/usr/include/rpc -DNDEBUG -O2 xdrfloat.c
> cc -c -I/usr/include/rpc -DNDEBUG -O2 xdrstdio.c
> cc: Error on line 171 of /usr/include/sys/types.h: 'u_char' redeclared: 
> declaration as typedef can't override previous declaration.
> cc: Error on line 172 of /usr/include/sys/types.h: 'u_short' redeclared: 
> declaration as typedef can't override previous declaration.
> cc: Error on line 173 of /usr/include/sys/types.h: 'u_int' redeclared: 
> declaration as typedef can't override previous declaration.
> cc: Error on line 174 of /usr/include/sys/types.h: 'u_long' redeclared: 
> declaration as typedef can't override previous declaration.
> cc: Error on line 177 of /usr/include/sys/types.h: 'caddr_t' redeclared: 
> declaration as typedef can't override previous declaration.

Although we don't have access to a CONVEXOS platform, previous experience
from other users has indicated that there is a problem with the Convex XDR
implementation (specifically in its handling of very small (sub-normal)
numbers).  Our `configure' script tests the native XDR library to try to
decide whether to use it or the generic XDR library we supply with the
netCDF distribution.  This XDR library test fails on CONVEXOS because of the
problem with subnormal numbers, so the installation ties to use the generic
XDR library, which has never been modified to work correctly under CONVEXOS.

Here's an excerpt of a previous reply from Steve Emmerson
(address@hidden) about the problem and possible workarounds:

    Unfortunately, we don't have the resources here to modify our XDR
    implementation for CONVEXOS.  Since the problem only appears with
    subnormal, floating-point values, however, I suggest that you simply
    ignore the problem (unless your applications require proper handling of
    subnormal floating-point values -- in which case you'll have to modify
    our XDR implementation or CONVEXOS's).

    You can ignore the problem by instructing the makefile system to use the
    system's XDR implementation.  This is done by invoking the make program
    in the following way:

        % make all
            CPP_XDR=-I/usr/include/rpc \
            LD_XDR= \
            XDR_LIBOBJS= \
            XDR_INSTALL_DEPS=

    Note that the last three macros are defined to be the empty string.

    If you "make test" from the top level directory with the above macro
    definitions, then you will still get the error.  Thus, to test the
    netCDF package you'll have to invoke the test individually, i.e.

        % make libsrc/test nctest/test fortran/test ncdump/test ncgen/test
            CPP_XDR=-I/usr/include/rpc \
            LD_XDR= \
            XDR_LIBOBJS= \
            XDR_INSTALL_DEPS=

    Then, invoke "make install" with the above macro definitions.

    Hope this helps.

--
Russ Rew                                                   UCAR Unidata Program
address@hidden                                             P.O. Box 3000
http://www.unidata.ucar.edu/                             Boulder, CO 80307-3000