[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 20030904:Compilation of netCDF 64-bit
- Subject: Re: 20030904:Compilation of netCDF 64-bit
- Date: Fri, 05 Sep 2003 09:12:37 -0600
>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