[R] Repeated use of dyn.load().

Eric Berger ericjberger at gmail.com
Thu Mar 1 19:44:59 CET 2018

Good question Rolf.
Rui, thanks for pointing out dyn.unload.
When I started using Rcpp a couple of years ago I got burned by stale .so
enough times that I adopted a policy of recompile-then-start new R session.
My workflow does not include Rolf's "brazillion" repeats, so the overhead
of this approach has not been too painful.
The documentation for dyn.unload (via ?dyn.unload) includes the following

"The function dyn.unload unlinks the DLL. Note that unloading a DLL and
then re-loading a DLL of the same name may or may not work: on Solaris it
uses the first version loaded."


On Thu, Mar 1, 2018 at 2:21 PM, Rui Barradas <ruipbarradas at sapo.pt> wrote:

> Hello,
> In such cases, with C code, I call dyn.unload before loading the modified
> shared lib again.
> I don't know if this changed recently, but it used to be needed or else R
> wouldn't load the new lib. When I call dyn.unload followed by dyn.load I
> never had problems.
> (Or the other way around, call dyn.unload before modifying the C code.)
> Hope this helps,
> Rui Barradas
> On 3/1/2018 8:52 AM, Rolf Turner wrote:
>> I am working with a function "foo" that explicitly dynamically loads a
>> shared object library or "DLL", doing something like dyn.load("bar.so").
>>  This is a debugging exercise so I make changes to the underlying Fortran
>> code (yes, I acknowledge that I am a dinosaur) remake the DLL "bar.so" and
>> then run foo again.  This is all *without* quitting and restarting R.  (I'm
>> going to have to do this a few brazillion times, and
>> I want the iterations to be as quick as possible.)
>> This seems to work --- i.e. foo seems to obtain the latest version of
>> bar.so.  But have I just been lucky so far?  (I have not experimented
>> heavily).
>> Am I running risks of leading myself down the garden path?  Are there
>> Traps for Young (or even Old) Players lurking about?
>> I would appreciate Wise Counsel.
>> cheers,
>> Rolf Turner
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posti
> ng-guide.html
> and provide commented, minimal, self-contained, reproducible code.

	[[alternative HTML version deleted]]

More information about the R-help mailing list