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: Louise Martin <address@hidden> >Subject: (no subject) >Organization: . >Keywords: 199804031859.LAA14396 Hi Louise, > I was wondering if you could assist me with an error I get when > running "make:" > on a sparc running Sun0S 4.1.4 . It is as follows: > > Making `all' in directory /bel-pub1/netcdf-3.3.1/src/ncdump > > /home2/tools/bin/gcc -c -O -I../libsrc -DNDEBUG ncdump.c > /home2/tools/bin/gcc -c -O -I../libsrc -DNDEBUG vardata.c > /home2/tools/bin/gcc -c -O -I../libsrc -DNDEBUG dumplib.c > /home2/tools/bin/gcc -o ncdump -O ncdump.o vardata.o dumplib.o > - -L../libsrc -lnetcdf > collect2: ld returned 2 exit status > ld: Undefined symbol > _memmove > *** Error code 1 > make: Fatal error: Command failed for target `ncdump' > Current working directory /bel-pub1/netcdf-3.3.1/src/ncdump I used the "netCDF support e-mail archive" link under Searches on the netCDF home page at <http://www.unidata.ucar.edu/packages/netcdf/>, and typed in the word "collect2" as what to search for. There were about five relevant responses returned, and the first one contains a pretty good answer from Steve Emmerson (I've updated the links and version info): It appears that you are missing the Standard C function "memmove()". This is undoubtably due to the age of your vendor-supplied C compiler (SC1.0 is quite old). The GNU C compiler fixes some problems with the vendor-supplied C header files, but it can't create a function that doesn't exist. I see two possible solutions: A. Install the latest C compiler from Sun (SC4.2, I think); or B. Install the freely-available GNU C++ library. This *should* contain the memmove() function in the library "libiberty.a" that it installs. The GNU C++ library can be found at the following site: ftp://prep.ai.mit.edu/pub/gnu Look for the file "libg++-2.8.1.1.tar.gz". When you then attempt to rebuild the netCDF package, do the following: 1. Go to the top-level source directory. 2. Execute the command "make distclean". 3. Remove the file "config.cache" if it exists. 4. Set your environment variables as before but add a reference to the install library "libiberty.a" to the LIBS variable, e.g. LIBS='/usr2/local/lib/gcc-lib/sparc-sun-sunos4.1.4_JL/2.8.8.1/libgcc.a -L/usr/local/gnu/lib -liberty' NOTE: The actual pathname might be different on your system -- depending on where you install it. 5. Re-execute the configure script. 6. Proceed normally from here. > Also, go you know of any netCDF discussion groups/faq sites (besides > the one on you web page) where I might go to seek advice or hints for > problems such as this. There is a lot of useful information in the email archives we keep, that includes all the responses to support questions we've answered about netCDF (all 2593 of them!). If you have a question of general interest that is not answered in the support archives and posing it to address@hidden doesn't get you a good answer, you could ask the address@hidden mailing list, but be aware that there are hundreds of users on that mailing list. You might also post a netCDF question of general interest to the sci.data.formats USENET newsgroup, but I'm not sure how many netCDF experts regularly read that newsgroup. --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu