[R] dyn.load() function problem help!

Prof Brian D Ripley ripley at stats.ox.ac.uk
Wed Jun 18 17:36:25 CEST 2003


On Wed, 18 Jun 2003, Mu Yunming wrote:

> Hi!
>
> I would like to call a Fortran subroutine within R. For doing this, I first
> built a shared library for loading into R under Unix and it was successful.

How did you do this?  Did you use R CMD SHLIB?

> But when I tried to load a shared library using dyn.load() function for use in
> .Fortran(), I got an error message.
> The command I input below in R is:
> >dyn.load("aaa.so")
> The reslut is:
>
> error in dyn.load(x,as.logical(local),as.logical(now)):
>         unable to load shared library "/home/user/fortran/aaa.so":
> ld.so.1: /usr/local/lib/R/bin/R.bin: fatal: relocation error: file
> /home/ymu/ft/aaa.so: symbol _F90free: referenced symbol not found.
>
> Does this mean that the shared library was not built successfully or my
> fortran subroutine has some errors?

The former.  You appear to have used different Fortran compilers to build R
and your shared object, since your Fortran support libraries are not being
linked against.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list