[R] cannot dyn.load dll from path
Duncan Murdoch
murdoch.duncan at gmail.com
Thu Jan 19 19:28:54 CET 2012
On 19/01/2012 11:19 AM, Adrian Dragulescu wrote:
> Hello,
>
> I'm on Windows, and according to the documentation R searches along the
> search path when looking for dll's for dyn.load.
>
> For illustration, I've copied the XML.dll from package XML in the C:/Temp
> folder
>
> if (file.exists("C:/Temp/XML.dll")) {
> Sys.setenv(path = paste("C:/Temp;", Sys.getenv("path"), sep=""))
> dyn.load("XML.dll") # doesn't find it!
> }
>
>
> head(strsplit(Sys.getenv("path"), ";")[[1]]) # C:/Temp is there
>
> dyn.load("C:/Temp/XML.dll") # works fine
>
> Am I misreading the documentation?
I believe that search is done by Windows, and different versions are
very inconsistent about search order. However, one thing I would guess
is that recent versions would require backslashes rather than forward
slashes in PATH. When R gets a path, it generally translates the
slashes, but if you're relying on Windows to do it, you're stuck with
what they decide to do.
Duncan Murdoch
More information about the R-help
mailing list