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

20010314: Solaris 2.6 large-file support



Hugh,

>Date: Tue, 27 Mar 2001 13:30:49 -0500
>From: Hugh Ellis <address@hidden>
>Organization: Johns Hopkins University
>To: Steve Emmerson <address@hidden>
>Subject: Re: 20010314: Solaris 2.6 large-file support
>Keywords: 200103141703.f2EH3KL02469

The above message contained the following:

> Many thanks.&nbsp; Here's the info:<br>
> <br>
> $ uname -a<br>
> <b>SunOS airsun 5.6 Generic_105181-15 sun4u sparc SUNW,Ultra-60<br>

I regret to inform you that the netCDF package cannot be built for large
file system support on a SunOS 5.6 system.  This is because the netCDF
code uses the "off_t" type in a way that conforms with the UNIX standard
but that is incompatible with the non-conforming implementation of that
type under SunOS 5.6.

To see this for yourself, do the following

    1.  Go to the top-level source directory of the netCDF package.

    2.  Execute the command "make distclean".

    3.  Remove file "make.cache" if it exists.

    4.  Set the following environment variables to the indicated values:

          export CC=/opt/SUNWspro/bin/c89
          export CPPFLAGS=-DNDEBUG
          export CFLAGS="-O `getconf LFS_CFLAGS`"
          export FC=/opt/SUNWspro/bin/f77
          export FFLAGS="-O -w"
          export F90=
          export CXX=
          export LDFLAGS=`getconf LFS_LDFLAGS`
          export LIBS=`getconf LFS_LIBS`

        NOTE: The above assumes a standard shell.  csh-derived shells
        use a different syntax.

    5.  Execute the "configure" script.

    6.  Execute the command "make".  It will quickly fail with the
        following error:

            ...
            Making `all' in directory /tmp/netcdf-3.5.0/src/libsrc
            ...
            /opt/SUNWspro/bin/c89 -c -O -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I.  -DNDEBUG nc.c
            "nc.c", line 209: warning: {}-enclosed initializer required
            "nc.c", line 209: struct/union-valued initializer required
            "nc.c", line 225: operands have incompatible types:
                     union  {double _d, array[2] of long _l} "<" unsigned int
            ...

Regards,
Steve Emmerson   <http://www.unidata.ucar.edu>