On 23 August 2016 at 11:13, Sean Davis wrote:
| Thanks for the reply and feedback, Dirk.

Pleasure!
 
| > On Aug 23, 2016, at 10:59 AM, Dirk Eddelbuettel <e...@debian.org> wrote:
| > Local shared libraries is hard(est). I would not start there.

I missed one line here: "Hard(est) because you have to communicate with
dynamic linker."  For eg RInside we do that and encode the path via rpath,
but that is eg frowned upon by Debian because it makes your binary (or
library) non relocatable as those paths remain fixed../

| > System shared libraries is easy (just ask all the database packages, 
graphics
| > formats packages etc pp) -- but you then push the burden onto your users to
| > actually *have* these system libraries.  Not easy with "obscure" science 
stuff.
| 
| It is complicated further by the fact that the group who develops this 
software distributes it as binaries to many users.

Eeeek.
 
| > Middle ground: _static_ library in your package.  Tweak and bend the 
required
| > libraries til they cooperate, then adjust.  This has been done since time
| > immortal, see eg the Matrix package and its several subdirectories.  Still
| > not trivial, but doable.
| 
| Probably beyond my patience level, but….
| 
| > Easiest 'dirty' solution: throw all source files into your package's src/ 
and
| > hope for the best.  Works for small packages.
| 
| Yeah, I have tried that in the past and perhaps after some cleanup the code 
can get there.
| 
| > Long story short: for something complicated like this, maybe a Docker
| > container is the best you can do :-/
| 
| Yeah, docker is what I have been living with for months and it is a great 
solution for development, but moving that paradigm the the standard scientific 
HPC environment just isn’t happening despite all the problems it would 
potentially bypass.
| 
| Nice to know that, while my R foo is limited compared to others on this list, 
I am not crazy to think that this might be hard.

Sadly, it really is hard, and made harder by the fact that we have some many
choices -- and then OS-depedencies.

I have been thinking about creating a tutorial for Rcpp users on this but so
far have not yet figured out how to do it all well enough to be worth it.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to