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.
Ra, > To: address@hidden > From: address@hidden (Ra Aman) > Subject: NetCDF demands eprintf. What is it? > Organization: . > Keywords: 199904021807.LAA19620 In the above message, you wrote: > Installing NetCDF-3.4 on a Sun complains about not finding eprintf, > both during "make test" and then when trying to compile & link with a > simple(!) Fortran test program. What is eprintf? If I recall correctly, "eprintf" is used by some Unix-like sytems to print to standard output the error message that corresponds to an error code. It's non-standard and not used by the netCDF package anywhere. I suspect that your development environment is forcing the use of "eprintf" (rather than the netCDF package). I suggest that you check with your system administrator in order to determine the reason behind the reference to "eprintf". > It sounds similar > to printf, fprintf, sprintf in C. We tried both Sun's C and also Gnu > C. Same complaint. "make test" complained: > . . . > ranlib ../libsrc/libnetcdf.a > /water/opt/SUNWspro/bin/f90 -o ftest -g -w ftest.o ../libsrc/libnetcdf.a > ild: (undefined symbol) __eprintf -- referenced in the text segment of \ > ../libsrc/libnetcdf.a: var.o (I broke this line to stay <81 > char.) Do a search of libsrc/var.c and you'll see that "eprintf" isn't used at all. > If I had source code for whatever __eprintf is supposed to be, I could > put it in the libnetcdf.a myself. Or if I knew what __eprintf is > supposed to do, I might be able to program an __eprintf. I suggest that you fix your development environment instead. -------- Steve Emmerson <http://www.unidata.ucar.edu>