First, we do have Fortran library installed here, and is used regularly (I can
not
promise it is standard installation though). Second, I only have 5 out of 7
'.so'
files under /opt/SUNWspro/lib/. The missing files are libm.so, and
libsunmath.so.
The libm.so is under /usr/lib; and we only have 'libsunmath.a' file, not the
shared
object file (we also have it in several locations).
I tried to hard link everything to get it compile (using the files under same
location if possible under /opt/SUNWspro/SC3.0.1/lib/, except libm.a) , and was
not
successful. After so many tests, I settled last with the following in my
Makefile:
LIBS = /opt/SUNWspro/lib/libF77.so /opt/SUNWspro/lib/libM77.so \
/opt/SUNWspro/lib/libV77.so /usr/lib/libm.so.1 \
/opt/SUNWspro/lib/libFposix.so /opt/SUNWspro/lib/libFposix_c.so
....
f77 -G GoesRetrievalImp.o $(FORTRANS) $(LIBS)
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a \
-o libGoesRetrieval.so
I ended up with hundreds of lines of error messages:
javac GoesRetrieval.java
cc -I/home/yan/software/Java/jdk1.2beta3/include -I/home/yan/software/Java/jdk1.
2beta3/include/solaris -c GoesRetrievalImp.c
f77 -c change_profil.f
change_profil.f:
change_profil:
f77 -c ev_diff_prof.f
ev_diff_prof.f:
ev_diff_prof:
f77 -c goesrte_2.f
goesrte_2.f:
goesrte_2:
gimrte:
taugim:
BLOCK DATA refpro:
pfcgim:
britgo:
plango:
f77 -c so_read_1.f
so_read_1.f:
so_read_1:
f77 -c dbdtgx_1.f
dbdtgx_1.f:
dbdtgx_1:
f77 -c get_profil.f
get_profil.f:
get_profil:
f77 -c re_read_1.f
re_read_1.f:
re_read_1:
"re_read_1.f", line 25: Warning: local variable "j" never used
f77 -G GoesRetrievalImp.o change_profil.o ev_diff_prof.o goesrte_2.o so_read_1.o
dbdtgx_1.o get_profil.o re_read_1.o /opt/SUNWspro/lib/libF77.so /opt/SUNWspro/
lib/libM77.so /opt/SUNWspro/lib/libV77.so /usr/lib/libm.so.1 /opt/SUNWspro/li
b/libFposix.so /opt/SUNWspro/lib/libFposix_c.so /opt/SUNWspro/SC3.0.1/lib/libsun
math.a -o libGoesRetrieval.so
Text relocation remains referenced
against symbol offset in file
_lib_version 0x188
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a(_SVID_errorf.o)
_lib_version 0x17c
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a(_SVID_errorf.o)
dbdtgx_1_ 0xfac GoesRetrievalImp.o
__libsunmath__kernel_sin 0x9a0
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a(s_sinpi.o)
__libsunmath__kernel_sin 0x814
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a(s_sinpi.o)
__libsunmath__kernel_sin 0x678
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a(s_sinpi.o)
__libsunmath__kernel_sin 0x394
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a(s_sinpi.o)
__libsunmath__kernel_sin 0x7d8
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a(s_cospi.o)
__libsunmath__kernel_sin 0x648
/opt/SUNWspro/SC3.0.1/lib/libsunmath.a(s_cospi.o)
ev_diff_prof_ 0xcfc GoesRetrievalImp.o
so_read_1_ 0x99c GoesRetrievalImp.o
change_profil_ 0x774 GoesRetrievalImp.o
.......
I really ran out ideas, I know our Fortran library is kind of old, can this be a
problem? I do not have SC4.0. Is it possible for me to get all the '.a' library
files directly.
(the machine I tried to compile paoloa: SunOS tempest 5.5.1 Generic sun4u sparc
SUNW,Ultra-2)
Thanks.
YanChing
Dave Glowacki wrote:
> > > I am compiling paoloa apps, and it seems to me I do not have the
> > > libsunmath.so.1 on my machine, can I get it somewhere? What kind of
> > > library is this? Thx
> > >
> > > YanChing
> > > ....
> > > f77 -G GoesRetrievalImp.o change_profil.o ev_diff_prof.o goesrte_2.o
> > > so_read_1.o dbdtgx_1.o get_profil.o re_read_1.o
> > > /opt/SUNWspro/lib/libF77.so /opt/SUNWspro/lib/libM77.so
> > > /opt/SUNWspro/lib/libV77.so /usr/lib/libm.so.1
> > > /opt/SUNWspro/lib/libFposix.so /opt/SUNWspro/lib/libFposix_c.so
> > > /opt/SUNWspro/lib/libsunmath.so.1 -o libGoesRetrieval.so
> > > ld: fatal: file /opt/SUNWspro/lib/libsunmath.so.1: cannot open file;
> > > errno=2
> > > ld: fatal: File processing errors. No output written to
> > > libGoesRetrieval.so
> > > *** Error code 1
> > > make: Fatal error: Command failed for target `libGoesRetrieval.so'
> >
> > I had to explicitly add all these /opt/SUNWspro/lib/*.so files to LIBS
> > in the makefile for libGoesRetrieval.so and GoesCollaboration.so in the
> > visad/paoloa directory. Even with /opt/SUNWspro/lib in my LD_LIBRARY_PATH
> > java would not link them dynamically (I posted a question to a java
> > newsgroup at the time but got no explanation).
> >
> > I do not know what libsunmath.so.1 does, but on our Sun it is a symbolic
> > link:
> >
> > /opt/SUNWspro/lib/libsunmath.so.1 ->
> > /opt/SUNWspro/SC4.0/lib/libsunmath.so.1
> >
> > It could be part of the Fortran installation, so you might make sure
> > that Fortran is installed. Fortran is necessary for the apps in
> > visad/paoloa and visad/aune.
> >
> > If your sys admin believes that you do have Fortran correctly
> > installed let me know, and we can try to get some help from Sun
> > on this (or perhaps someone on this list knows more than I do about
> > this).
>
> I'd bet that setting either LD_RUN_PATH or LD_PRELOAD to point to
> /opt/SUNWspro/lib during the build will fix things.
>
> I've gotta grab JDK1.2b3 to verify that, though.
>
> I'll let you know if I manage to get this built on 'brutus' (which doesn't
> have the sunmath stuff either...)