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

Tyler Smith tyler.smith at mail.mcgill.ca
Wed Jul 6 14:57:35 CEST 2005

ah, that's better. For an immediate fix I just changed .dll to .so, and 
it appears to work perfectly. I will read through Writing R Extensions 
to make sure I understand what I'm doing!



Peter Dalgaard wrote:

>Tyler Smith <tyler.smith at mail.mcgill.ca> writes:
>>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: invalid ELF 
>>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).

More information about the R-devel mailing list