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: =?iso-8859-1?B?QWx2YXJvIFNhaW5lcm8gTWFydO1u?= >Subject: Compilation of netCDF >Organization: UCAR/Unidata >Keywords: 200309041121.h84BLrLd016590 Hi, > I got to solve the problem (it was nothing to do but with file permissions). > > Anyway, I still have a conflict. I can compille succesfully the > library libnetcdf.a, but the problem appears during the linkning > proccess, I guess. > > I get the message ld: Missing library symbol table in > ../libsrc/libnetcdf.a when 'making all' to ncdump. the command > "which ld", returns "/usr/bin/ld", so I guess I´m using the right > ld. Make all should not even be using ld, it just uses the compiler to do the linking. For example, the output of "make all" on our HP-UX system for ncdump is Making `all' in directory /home/russ/netcdf/build/tweety-64o/src/ncdump c89 -c +DD64 -I../libsrc -D_HPUX_SOURCE -D_FILE_OFFSET_BITS=64 ncdump.c c89 -c +DD64 -I../libsrc -D_HPUX_SOURCE -D_FILE_OFFSET_BITS=64 vardata.c c89 -c +DD64 -I../libsrc -D_HPUX_SOURCE -D_FILE_OFFSET_BITS=64 dumplib.c c89 -o ncdump +DD64 ncdump.o vardata.o dumplib.o ../libsrc/libnetcdf.a so "c89" does what's necessary to link the object files and library. It may call /usr/bin/ld to do this, but you should not see ld invoked in the output from "make all". > In fact, I recently get this message at a regular basis as I´m > trying to compile several tools (netcdf is supposed to be something > needed to compile other target programs). > > Any ideas about what I can look at to get rid of this bothering stuff? The HP documentation, in relation to this error message, says: CAUSE The named relocatable library file has no symbol table. This usually indicates that the relocatable library file has been corrupted, or that a non-library file has been created with an NMRL filecode. ACTION Verify that you have specified a relocatable library file, that it is the correct one and that its name is spelled correctly. It the file and filecode are correct, replace or rebuild the file. which isn't of much help to me. Was there any message output from the "ar" run that created the library archive in libnetcdf.a? Make sure you are using HP's "ar" instead of something like GNU ar. You also might try running "ranlib" on libnetcdf.a, although I don't think this should be necessary on HP-UX systems. But the "make all" should have run "ranlib" on the library after "ar", so check also if there is any output from that command that indicates a problem, and make sure the "ranlib" used is the HP version of "ranlib". Just to be clear, here's the output I see from "make all" in the directory "libsrc": ar cru libnetcdf.a attr.o dim.o error.o libvers.o nc.o ncio.o ncx.o putget.o string.o v1hpg.o v2i.o var.o ranlib libnetcdf.a with no error messages. --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://my.unidata.ucar.edu