This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
> References: <address@hidden> > Reply-To: address@hidden > To: Steve Emmerson <address@hidden> > Subject: Re: 19990215: redef() problem under AIX > > Hello Steve! > > Thank you for your answer! > Your suggestion was helpful! > If I use nf__open with a chunksize not equal 4096 then the error doesn't occur. > (for example 8000, 8192 and 10000 are ok, 4000 is not ok) > (the size() system call returns 4096 for the component st_blksize of the > stat-structure) > > But we are developing our programms parallel on AIX and Cray. Because of this > we would like it, if we don't have two program-versions(nf__open on AIX and > nf_open on Cray). > Do I have a chance to change something at the installation of netcdf on AIX, so > I can use nf_open without problems? > > Is there a possibility to detect such an overwriting-error by a netcdf > environment variable or something else? > > Thanks > Juergen Juergen: Thank you for trying this test. It will help us track down the problem. Attached find a small patch to libsrc/posixio.c which will workaround the problem for now. Apply the patch on AIX and rebuild the library. Since the cray uses ffio.c instead of posixio.c, you do _not_ need to apply the workaround there. -glenn
Index: posixio.c =================================================================== RCS file: /upc/share/CVS/netcdf-3/libsrc/posixio.c,v retrieving revision 1.66 diff -r1.66 posixio.c 98c98,100 < return (size_t) sb.st_blksize; --- > if(sb.st_blksize >= 8192) > return (size_t) sb.st_blksize; > return 8192;