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

Re: 980212: netCDF nccreate() problem on SGI architecture



>To: address@hidden,
>To: Brian Eaton <address@hidden>
>From: Charlie Zender <address@hidden>
>Subject: netCDF nccreate() problem on SGI architecture
>Organization: NCAR/CGD
>Keywords: 199802122028.NAA22485 netCDF nccreate

Hi Charlie,

> I am enclosing a C program which demonstrates a problem with nccreate()
> the Winterpark SGI machine. nccreate() works fine with the NC_CLOBBER
> flag, but not with NC_NOCLOBBER. When the target file does not exist
> and NC_NOCLOBBER is set, nccreate() will fail with a "Permission
> denied" error. Here is the weird part: nccreate() is only failing on
> my /home and /data partitions on Winterpark, but it works fine on
> e.g., /usr/tmp:
> 
> /fs/cgd/home0/zender/tmp: /bin/rm -f foo.nc ; /fs/cgd/home0/zender/tmp/bug
> nccreate: filename "foo.nc": Permission denied
> /usr/tmp/zender: /bin/rm -f foo.nc ; /fs/cgd/home0/zender/tmp/bug
> /usr/tmp/zender: ls -l
> total 328
> - -rw-r--r--    1 zender   cgd           32 Feb 12 13:11 foo.nc
> 
> Please let me know if you can reproduce this problem on Winterpark and
> when you have diagnosed the cause of the problem. This problem affects
> nearly all of my netCDF operators and their users. Brian Eaton has
> independently verified that he gets the same results from compiling
> and running bug.c on Winterpark.
> 
> Thanks,
> Charlie
> 
> P.S.: This problem has started occuring sometime after December 1997.
> My feeling is that it's probably indicative of an Operating
> system/permissions change, since, to my knowledge, Winterpark's netCDF
> installation hasn't changed during the intervening period. 
> 
> bug.c:
> - ------------------------------------------------------------------------
> #include<stdio.h>
> #include<netcdf.h>
> 
> /* Compile on CGD Suns:
>    gcc -o bug -I/contrib/include bug.c -L/contrib/lib -lnetcdf
>    Compile on Winterpark:
>    cc -o bug -I/fs/local/include bug.c -64 -mips4 -L/fs/local/lib64 -lnetcdf
>  */ 
> 
> int main(int argc,char **argv)
> {
>   int nc_id;
>   nc_id=nccreate("foo.nc",NC_NOCLOBBER);
> }
> - ------------------------------------------------------------------------

I believe this is a problem with netCDF 3.3.1 that only occurs on IRIX
6.x in NFS-mounted directories.  It is described on our "Known Problems
with the netCDF 3.3.1 Distribution" web page, under "Problem with IRIX 6
and NFS", at

   http://www.unidata.ucar.edu/packages/netcdf/known_problems.html

There is a link to a patch there to fix the problem, but at this point
it might be better to just build our netCDF 3.4 test release that
already incorporates that patch as well as fixes for all other known
problems.  It's available from

   ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-3.4a.tar.Z

The "a" in "netcdf-3.4a" stands for "alpha-test", but at this point we
think the test release is more solid than the 3.3.1 release.  We will be
releasing it soon.

Please let us know if either the patch or the new release doesn't cure
the problem ...

--Russ

_____________________________________________________________________

Russ Rew                                         UCAR Unidata Program
address@hidden                     http://www.unidata.ucar.edu