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.
>To: address@hidden >From: Manuela Lorenzi Kayser <address@hidden> >Subject: make problem >Organization: Institute for Computational Earth System Science, UCSB >Keywords: 199709042332.RAA19105 Manuela, > Here is more information for you: > > 1)platform - SUN Ultra sparc > SunOS tempest.crseo.ucsb.edu 5.5.1 Generic sun4u sparc SUNW,Ultra-2 We develop and test the netCDF software on this platform all the time, so their should be no problem, if things are installed correctly. But it also looks as if you are trying to install some old version (2.4.3?) of netCDF that we no longer support, as part of another package (pplus?). The current version of netCDF, 3.3.1, is available from ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf.tar.Z > 2)gcc is installed and working Maybe for C programs, but apparently the configure script has been directed to use gcc for C++ programs as well, and that appears to be the source of the problem you eventually run in to (see below). > 3)Here is the content of config.log after I run configure > > ..................................................................... > This file contains any messages produced by compilers while > running configure, to aid debugging if configure makes a mistake. > > "configure", line 2042: warning: const is a keyword in ANSI C > "configure", line 2042: undefined symbol: const > "configure", line 2042: syntax error before or at: charset > "configure", line 2080: va_start: argument mismatch > "configure", line 2231: identifier redeclared: malloc > current : function() returning pointer to struct {int a, int b} > previous: function() returning pointer to void : > "/usr/include/stdlib.h" > , line 201 > .............................................................. > > Configure appears to run smoothly all the way to the end, although I see > that in config.log there are error messages. Actually, the config.log is not of much interest, it's the output of running the configure script that's most helpful in diagnosing problems. To get it, please try the following: 1. Go to the top-level source directory (the directory containing the INSTALL file). 2. Remove the file "config.cache" if it exists. 3. Re-execute the configure script. Redirect its standard output and standard error to a file. For example, if you are using /bin/sh or /bin/ksh, you can do it this way: $ ./configure --prefix=whatever | tee configure.out 2>&1 With csh, do it this way instead: % ./configure --prefix=whatever |& tee configure.out Then send us the contents of the configure.out file, which is the output of running the configure script. > 4) Below is the content of the log file after I run "make all" > > ........................................................................... > Makefile:355: warning: overriding commands for target `/home/data94/pplus/bin' > Makefile:352: warning: ignoring old commands for target > `/home/data94/pplus/bin' This looks like the output from Gnu make rather than the Sun make. I'm afraid we don't have or use Gnu make, so I can't help much with what this means. It appears to be just a warning, and perhaps you can ignore it if the "make test" eventually works. ... > /usr/local/bin/gcc -c -I../libsrc netcdf.cc > gcc: installation problem, cannot exec `cpp': No such file or directory > make[1]: *** [netcdf.o] Error 1 > make[1]: Leaving directory `/home/data94/pplus/netcdf/cxx' Here's where gcc is being used to try to compile C++ code. If you want to use GNU tools for this, you should specify g++ for the C++ compiler, rather than gcc, and make sure g++ is installed and can compile, link, and run a simple C++ "hello world" program. OR, if you have it, you can specify the Sun C++ compiler, CC. Alternatively, if you don't need the C++ interface to netCDF, you can just specify that you don't have a C++ compiler using the configuration option CXX="" before you run the "configure" script. With the above hints, you might be able to get this older version of netCDF installed, but if you still have problems, I'd recommend starting with the current version, from our FTP site. More information about it is available from http://www.unidata.ucar.edu/packages/netcdf/ --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu