[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

961202: linking problem: unresolved symbols: xdr_*



Celeste,

>Date: Wed, 27 Nov 96 13:42 EDT 
>From: address@hidden (A. Celeste Saulo)
>Organization: . 
>To: address@hidden
>Subject: some problems again 
>Keywords: 199611271549.AA07990 

In the above message you wrote:

>  I wrote you last week because we had some problems installing Netcdf on
>  wasn't working quite well. We've reinstalled the C compiler (cc) and 
>   I've tried again with Netcdf.

Good.  I see from your message that this allowed you to build the netCDF
package.

>  I think that there is still a problem with
>  some libraries (I'm not completely sure). When I run de configure, it
>  finishes without error messages, but, if I look the config.log there is 
>  a message like this:
>   Undefined                           first referenced
>     symbol                                 in file
>  xdr_long                                 conftest.o
>  ld: fatal: Symbol referencing error. No output written to conftest
>  ld: fatal: librery -lrpc: not found
>  ls: fatal: File processing errors. No output written to conftest
> 
> and later: 
> line 2207: warning: tokens ignored at end of directive line
> line 2213: undefined struct/union memeber:x_getint
>  line 2214: warning: imporper pointer/integer combination: op "="
> cc: acomp failed for conftest.c

The above isn't as bad as it seems.  The file `config.log' contains
error messages from the configure script, which is trying to determine
the details of what features your systems has.  I'd be surprised if
`config.log' did *not* contain error messages.

More important than `config.log' is the standard output from the
`configure' script itself.

>  However, as configure is runing, after checking many things related to xdr_
>  it says (in the messages at the terminal)
>   checking for XDR implementation........ok

This indicates that the XDR library was found and is correct.

> 
>  For this reason, I've proceed with the installation, doing "make all", 
>  "make test" "make install", etc.

That's the correct thing to do.

> 
>   Then, when I compiled a program that needs netcdf, I got a fatal error:
>  Undefined symbol:
>  xdr_enum  xdr_float xdr_int xdr_vector xdr_u_long xdr_double xdr_long
>  xdr_opaque
>  all of them first referenced in file:
>  /nuevo/netcdf/lib/libnetcdf.a

The netCDF 2.4 package uses the XDR library of the host system.  This
means that any program that uses the netCDF package also (indirectly) uses
the XDR library.  This means that the link-command for such a program
must reference the XDR library.  On many systems, this is done by adding
the argument `-lxdr' or `-lrpc' to the link-line (on SunOS 5 systems,
the argument should be `-lnsl').  You can see what the appropriate
argument is by looking at the makefile for the ncdump(1) utility (file
ncdump/Makefile).

--------
Steve Emmerson   <address@hidden>