[R] unable to load shared library "/home/hpc1367/runs/taper/taper.so"
Martin Maechler
maechler at stat.math.ethz.ch
Tue Sep 21 10:00:35 CEST 2004
>>>>> "hpc1367" == hpc1367 <sje at mast.queensu.ca>
>>>>> on Mon, 20 Sep 2004 18:18:58 -0400 writes:
Why do you put the full filename in the e-mail subject?????
(We'd rather want to know your operating system, some
kind of unix, probably Linux, seen from below)
hpc1367> I am trying to load a .so file and get the
hpc1367> following error message:
>> dyn.load("taper.so",local=F)
hpc1367> Error in dyn.load(x, as.logical(local),
hpc1367> as.logical(now)) : unable to load shared library
hpc1367> "/home/hpc1367/runs/taper/taper.so": ld.so.1:
hpc1367> /usr/local/lib/R/bin/R.bin: fatal: relocation
hpc1367> error: file /home/hpc1367/runs/taper/taper.so:
hpc1367> symbol f90_init: referenced symbol not found
^^^^^^^^^^^^^^^^
this is the crucial part !
hpc1367> also tried with default local=T and got same error.
of course, since your fortran90 code needs f90_init()
and that is evidently not linked into your taper.so
but is provided by your Fortran90
hpc1367> my makefile (used to produce the .so) is included below
hpc1367> F90S = taper.f90
hpc1367> OBJS = taper.o
hpc1367> LIBS = -lsocket -lnsl -lintl
hpc1367> OPT = -fast
hpc1367> MODS = -M/opt/NAG/fnsol04dbl/nag_mod_dir
hpc1367> NAG = /opt/NAG/fnsol04dbl/libnagfl90.a
hpc1367> STATNAG = /opt/NAG/flsol20dal/libnag.a
hpc1367> taper.o : taper.f90
hpc1367> f95 -c -dalign $(OPT) $(MODS) taper.f90
hpc1367> taper.so: taper.f90
hpc1367> f95 -o taper.so -G -dalign $(OPT) $(MODS) taper.f90
hpc1367> taper.x : taper.o
hpc1367> f95 -o taper.x -dalign $(OPT) $(MODS) $(LIBS) taper.o $(OBJS)
hpc1367> $(NAG)
You must make sure that the "system" library which defines the
f90_init() symbol is specified at link time, i.e., when taper.so
is built.
So I guess you need at least the $(LIBS) also in that line,
probably also $(NAG).
But we don't have your non-free NAG compilers and libraries and
it's hard to find out "from here". Use 'nm' and 'ldd' but
probably rather ask someone at your institution who knows more
about compilation and linking.
hpc1367> please, help
hpc1367> thank you very much
More information about the R-help
mailing list