[Rd] dyn.load in linux: missing libraries?

Peter Dalgaard p.dalgaard at biostat.ku.dk
Wed Jul 6 09:37:18 CEST 2005

Tyler Smith <tyler.smith at mail.mcgill.ca> writes:

> Hi,
> I've just about got myself transferred from windowsXP to Linux (Mepis 
> 3.3.1-1). I've got R 2.1.1, emacs, and ess running from the debian 
> repositories. Of course, there is a hitch. I have a bit of C code in one 
> of my personal functions. I have, apparently without problem, been able 
> to compile it using R CMD SHLIB, but when I try to dyn.load it I get the 
> following error:
>  > dyn.load("Cfiles/Neutral/Bell2000.dll")
> Error in dyn.load(x, as.logical(local), as.logical(now)) :
>     unable to load shared library 
> '/home/tyler/RWorkingDirectory/Cfiles/Neutral/Bell2000.dll':
>   /home/tyler/RWorkingDirectory/Cfiles/Neutral/Bell2000.dll: invalid ELF 
> header
> I take this to mean one of the required libraries is either not loaded 
> or not updated. Or, I've overlooked something. Can anyone point me to a 
> solution? I tried updating my perl files, and I haven't found anything 
> using the R Site Search...

Nope, the missing library is the one that you're trying to load.
Dynamic libraries are not called .dll on Linux, but rather .so...

You should probably read up on "Writing R Extensions", including the
hints on how to write portable code (use library.dynam).

   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907

More information about the R-devel mailing list