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

Russ Rew: Re: 961125: not working on SGI r10000



Ooops, forgot to CC: support-netcdf ...

------- Forwarded Message

Date:    Tue, 26 Nov 1996 09:10:50 -0700
From:    Russ Rew <address@hidden>
To:      Harvey Seim <address@hidden>
cc:      davis
Subject: Re: 961125: not working on SGI r10000 

Harvey,

> Russ - I don't think you were jumping to conclusions before, it 
> isn't just that I haven't specified where to find the library.  If I 
> don't move libnetcdf.a into /usr/local/lib64 (where the compiler 
> looks by default apparently) I get the message:
> 
> ld64: FATAL 9: I/O error (-lnetcdf): No such file or directory 
> f77 ERROR:  /usr/lib64/cmplrs/ld64 returned non-zero status 1
> *** Error code 1 (bu21)
> 
> When I link with -L/usr/local/lib -lnetcdf (point to the library 
> explicitly) I get:
> 
> ld64: FATAL 12: Expecting /usr/local/lib/libnetcdf.a objects: ld64: 
> Segmentation fault.  Removing output file...  
> f77 ERROR: /usr/lib64/cmplrs/ld64 returned non-zero status 1
> *** Error code 1 (bu21)
> 
> The segmentation fault makes me think the compiler found something but 
> not what it likes.  I got all this after a
> make clean
> configure 
> make all
> make test
> make install
> 
> that all went smoothly.  When I try to compile my code (I should say 
> our code, the guy I'm working with is in Australia) if I don't 
> include a -n32 or -64 flag I bomb out in a routine that writes out 
> the netcdf files, complaining about 
> 
> Error on line 311 of write3D_nc.f: Declaration error for kdimvalues: 
> adjustable automatic array
> Error on line 368 of write3D_nc.f: Declaration error for hold2d: 
> adjustable automatic array
> 
> If I do compile is -n32 -O flags I get this error message when 
> linking (the above routine compiles without a hitch):
> 
> ld32: FATAL 112: cannot link old 32-bit object with -n32 link: 
> /usr/local/lib/libnetcdf.a(jackets.o).  
> f77 ERROR: /usr/lib64/cmplrs/ld32 returned non-zero status 1
> *** Error code 1 (bu21)
> 
> If I move the libs to /usr/local/lib32 I don't need to specify their 
> location (the compiler finds them) but I get the same error message 
> as above.  
> 
> This all makes me think the default installation is generating old 
> clarifies things.  As before, your advice is welcome....

OK, I'm forwarding this message to Glenn Davis here, who works on an
R8000 IRIX64 workstation and may be able to help more with this problem.

However, one place to start is the fact that the Fortran test works with
the library you built.  This is an extensive test of the Fortran
interface, and it is successfully compiled and linked with the library
you built using no extra flags.  If you want to test whether particular
Fortran flags work against the installed library, why not try these with
something like the following (testing "-O3", for example), from within
the netcdf/src/fortran directory?

  make clean all test FFLAGS="-O3"

When you get something that works, you can use the same combination on
your Fortran code.  Incidentally, the above test worked fine here.

You should also be aware that the "file" command will tell you what kind
of library you have, so you don't need to guess whether it uses 32-bit
or 64-bit objects.  For example, after building the library on our SGI:

    $ file libsrc/libnetcdf.a 
    libsrc/libnetcdf.a:    current ar archive containing 64-bit objects

_____________________________________________________________________

Russ Rew                                         UCAR Unidata Program
address@hidden                     http://www.unidata.ucar.edu


------- End of Forwarded Message