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

960823: installing on SunOS 4.1.4 system



Aaron,

>Date: Thu, 22 Aug 1996 17:33:08 -0600 
>From: address@hidden (Aaron Lai)
>Organization: Los Alamos National Laboratory
>To: address@hidden
>Subject: netCDF library 
>Keywords: 199608220013.AA12558

In the above message you wrote:

>    There are three versions of netCDF library on ACL's Sun 4 machine now.
> The first one is rather old:
> 
> > 1.  When I linked the gennet.o with
> > -rw-rw-r--  1 root       158096 Jan 26  1996 /usr/local/lib/libnetcdf.a
> >     I got the message:
> > .koala.cal,/home/ocean/data/CCM3/readnet {131} > f77 gennet.for 
> > /usr/local/lib/libnetcdf.a -lne
> tcdf -lnsl
> > gennet.for:
> >  MAIN:
> > ld: /usr/local/lib/libnetcdf.a: warning: archive has no table of contents; 
> > add one using ranlib
> (1)
> > ld: /usr/local/lib/libnetcdf.a(/): bad magic number

It appears that the old netCDF library is bad somehow.  Running
ranlib(1) on it might make it better.

> 
> It appears that your installation of /usr/local/lib/libnetcdf.a didn't
> work.  (I assume that it's the new library.)
>        %%%%%%% No, this is the oldest one.
> 
> > 2.  When I linked the gennet.o with
> > -rwxr--r--  1 root        64608 Aug 21 11:25 /usr/lanl/lib/libnetcdf.a
> >     I got the message:
> > .koala.cal,/home/ocean/data/CCM3/readnet {135} > f77 gennet.for 
> > /usr/lanl/lib/libnetcdf.a -L/us
> r/local//lib -lnetcdf
> > gennet.for:
> >  MAIN:
> > ld: /usr/local//lib/libnetcdf.a: warning: archive has no table of contents; 
> > add one using ranli
> b(1)
> > ld: /usr/local//lib/libnetcdf.a(/): bad magic number
> >
> %%%%%%%%%%  This is the newer one installed by ACL, on a daily basis.
> 
> %%%%%%%%%%  In the compilation, I included the "/usr/lanl/lib/libnetcdf.a"
>             Notice the difference between "lanl" and "local".

I think I understand.  You referenced both the new and old versions of
the netCDF library on your link lines.  You probably shouldn't do that,
i.e. the link lines in the new netCDF package should only reference the 
new netCDF library.

I suspect that if you remove the reference to the old netCDF library
from the link-lines (so that only the new netCDF library is referenced)
that things will work.

> 
> %%%%%%%%%%  Since both versions (/usr/local  and /usr/lanl) didn't work for
>             me, I decided to install the netCDF under my directory at
>             /home/ocean/data/CCM3/netcdf-2.4.3
> 
> %%%%%%%%%%  You said that the "configure" was OK except for the
>             `OS level 4.1.4 not in table' messages -- which I (you) have
>             never seen before.
> 
> %%%%%%%%%%  The "make test" succeeds.  You said that you suspected that
>             my (our) compilatiion environment is incorrect somehow.
>             Oh! "make all" succeeds, too.  I should put this before.

This shows that the netCDF library (libnetcdf.a) that it built is 
correct.

> 
> %%%%%%%%%%  The "make test" also showed that the FORTRAN API worked
>             correctly.

> 
> %%%%%%%%%%  In last e-mail to you I forgot to give you the output of
>             "make install".  Here it is:
> 
> ===========================================================================
> 
> .koala.cal,/home/ocean/data/CCM3/netcdf-2.4.3/src {185} > make install

The installation looks ok.

> %%%%%%%%%%  So, I don't find anything strange except the earlier:
> acc: Warning: OS level 4.1.4 not in table -- using 4.1.1 include path
> 
> %%%%%%%%%%  Do you think installing a new version of netCDF under my
>             directory will work?

Yes.  It the netCDF installation doesn't care where it is -- only other
packages/programs care: when you build them, you must reference the new
netCDF library on the link-lines.

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