Dear Dirk,

Am Samstag, den 26.11.2011, 16:34 -0600 schrieb Dirk Eddelbuettel:
> On 26 November 2011 at 23:16, Paul Menzel wrote:

> | Am Samstag, den 26.11.2011, 15:35 -0600 schrieb Dirk Eddelbuettel:
> | 
> | > On 26 November 2011 at 22:10, Paul Menzel wrote:
> | 
> | > | Am Samstag, den 26.11.2011, 12:42 -0600 schrieb Dirk Eddelbuettel:
> | > | > On 26 November 2011 at 18:57, Paul Menzel wrote:
> | > | > | Package: littler
> | > | > | Version: 0.1.5-1
> | > | > | Severity: normal
> | > | > | 
> | > | > | Dear Debian folks,
> | > | > 
> | > | > There is a single maintainer for the littler package, and his name is 
> Dirk.
> | > | 
> | > | I am sorry. I used that term because all Debian developers and users
> | > | should try to fix bugs. And sometimes the maintainers are not as devoted
> | > | as you are.
> | > 
> | > What makes you think all developers would read a bug report against one
> | > particular package?
> | 
> | not all. But for example for GNOME packages a lot of times Debian
> | developers deal with bug reports although they are not the maintainer.
> 
> littler != Gnome

alright. I will address you directly in the future when opening reports
against R packages.

> | > | > | since the package rbenchmark is not packaged in Debian I installed 
> it using `install.packages()`. Then it was installed in my home directory I 
> believe.
> | > | > 
> | > | > Your problem. Always check what .libPaths() says:
> | > | > 
> | > | > edd@max:~$ r -e 'print(.libPaths())'
> | > | > [1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"      
> | > | > [3] "/usr/lib/R/library"           
> | > | > edd@max:~$ 
> | > | 
> | > | It says the same on my system.
> | > | 
> | > | > So on my system an installation __done with littler__ goes to 
> /usr/local/lib/R/site-library
> | > | 
> | > | Well, since I have not changed anything by default using
> | > | `install.packages()` it goes into `~/R/i486-pc-linux-gnu-library/2.14/`.
> | > 
> | > You shouldn't have to change anything. Apart maybe from making sure you 
> (and
> | > not jyst root) can write into /usr/local/lib/R/site-library/
> | > 
> | > This is set from /etc/R/Renviron
> | 
> | Looking at `/etc/R/Renviron` I see the following line.
> | 
> |     R_LIBS_USER=${R_LIBS_USER-'~/R/i486-pc-linux-gnu-library/2.14'}
> 
> Would you mind reading the remaining five or so lines of that file too?

I did before. And I do not understand the comments at all.

        R_LIBS_USER=${R_LIBS_USER-'~/R/i486-pc-linux-gnu-library/2.14'}
        #R_LIBS_USER=${R_LIBS_USER-'~/Library/R/2.14/library'}

        # edd Apr 2003  Allow local install in /usr/local, also add a directory 
for
        #               Debian packaged CRAN packages, and finally the default 
dir 
        # edd Jul 2007  Now use R_LIBS_SITE, not R_LIBS
        
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:/usr/lib/R/site-library:/usr/lib/R/library'}

What should »Now use R_LIBS_SITE, not R_LIBS« for an unknowledgeable
user mean? Do you mean `R_LIBS*`? Why is `R_LIBS_USER` still defined
above?

Also looking at the other files I only found this item in
`changelog.Debian.gz`.

          * debian/Renviron-R_LIBS.patch: With R 2.5.*, modify R_LIBS_SITE not 
R_LIBS
        
         -- Dirk Eddelbuettel <e...@debian.org>  Wed, 18 Jul 2007 14:26:06 -0500
 
> | Could that be added to littler’s default path when looking for packages?
> 
> Up to you to do locally as I told you twice. See help(Startup). I am getting
> bored of repeating myself.
> 
> Littler knows that env var too:
> 
> edd@max:~$ r -e 'print(Sys.getenv("R_LIBS_USER"))'
> [1] "~/R/x86_64-pc-linux-gnu-library/2.14"
> edd@max:~$ 
> 
> I just don't like it. Linux is multi-user, and I see no reason not to use
> /usr/local/lib/R/site-library. 

1. I would not mind if it is recommended to me when using
`install.packages()`.
2. The biggest problem is only root/staff can write there by default.
3. Until this discussion I did not even know about this preference since
it is nowhere documented.

> If your scripts fail to read from a particular library directory, read
> help(library) and/or help(Startup).

I know that I can pass a path to look for libraries. But the user
experience to edit for example your examples from Rcpp is not flawless
because I need to edit these scripts. And it is confusing because
starting `R` and using `source(…)` works.

> There is no maliciousness at my end. I do not tell littler to ignore certain
> directories just because I feel like it.

I still do not understand why `R` uses this environment variable and
`littler` does not. Sorry.

> So can we stop this now, please?

I just tell you my experiences with littler and that I have trouble
using it.

That this is your decision to make if changes can be made is totally
clear and that is why I have not reopened that report either.

> | > | > In fact littler comes with two short example scripts 'install.r' and
> | > | > 'update.r' I use all the time.  Eg (for a not-required 
> re-installation:)
> | > | > 
> | > | > edd@max:~$ ~/bin/install.r rbenchmark
> | > | > trying URL 
> 'http://cran.r-project.org/src/contrib/rbenchmark_0.3.tar.gz'
> | > | > Content type 'application/x-gzip' length 3504 bytes
> | > | > opened URL
> | > | > ==================================================
> | > | > downloaded 3504 bytes
> | > | > 
> | > | > * installing *source* package ‘rbenchmark’ ...
> | > | > ** R
> | > | > ** preparing package for lazy loading
> | > | > ** help
> | > | > *** installing help indices
> | > | > ** building package indices ...
> | > | > ** testing if installed package can be loaded
> | > | > 
> | > | > * DONE (rbenchmark)
> | > | > 
> | > | > The downloaded packages are in
> | > | >         ‘/tmp/downloaded_packages’
> | > | > edd@max:~$ r -lrbenchmark -e 'res <- benchmark(function() {}); 
> print(res)'
> | > | >           test replications elapsed relative user.self sys.self 
> user.child
> | > | > 1 function() {          100   0.001        1         0        0       
>    0
> | > | >   sys.child
> | > | > 1         0
> | > | > edd@max:~$ 
> | > | 
> | > | I did not know about these scripts and that they should be used for
> | > | installing packages. See #648981 [3].
> | > 
> | > "Should be used" is too strong. I wrote them for my use as I find them 
> convenient.
> | 
> | I see. But not having a references to them in for example the README I
> | will find them too late because I am not checking out everything before
> | starting to use a program.
> 
> You can always demand your money back.

Please, I did not attack you in any way. I just report my experience. I
am thankful for your work and I try to contribute back by sharing my
experience as a unknowledgeable user.
  
> | > | > | Executing `R` and then `library(rbenchmark)` works.
> | > | > | 
> | > | > | Now I wanted to try `fibonacci.r` from the examples of the Rcpp 
> package (`r-cran-rcpp` [2]).
> | > | > | 
> | > | > |         $ cp /usr/lib/R/site-library/Rcpp/examples/Misc/fibonacci.r 
> /tmp/
> | > | > |         $ r fibonacci.r # includes `library(rbenchmark)`
> | > | > | 
> | > | > | This aborts with an error that the package `rbenchmark` cannot be 
> found.
> | > | > | 
> | > | > |         $ LANG=C r fibonacci.r 
> | > | > |         Loading required package: inline
> | > | > |         Loading required package: methods
> | > | > |         Loading required package: compiler
> | > | > |         Error in library(rbenchmark) : there is no package called 
> 'rbenchmark'
> | > | > |         Execution halted
> | > | > | 
> | > | > | Is littler supposed to work in such a setup?
> | > | > 
> | > | > Well, yes. I use littler for all the blog posts you refer to.
> | > | > 
> | > | > Read help(Startup) and figure out your paths.
> | > | > 
> | > | > Not a bug. Next time, just ask on r-sig-debian, please.
> | > | 
> | > | Is there a way to get that working by default? Should the path `~/R/`
> | > | which gets used by default for installing packages be added somewhere?
> | > | Or a new item to the FAQ in `README.gz`?
> | > 
> | > Please do read 'help(Startup)' and how you can influence .ldPaths() -- 
> and if
> | > you prefer to install in ~/R you have to figure out how to make sure 
> littler
> | > looks there too.
> | 
> | As written above, that path seems to be taken from `/etc/R/Renviron`.
> 
> Not going to explain it another time.

No need. I read your answer carefully and try to understand everything
you write and your point of view.


Saludos and thanks again,

Paul

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to