On 5/4/07, Duncan Murdoch <[EMAIL PROTECTED]> wrote: > On 5/4/2007 11:31 AM, Gabor Grothendieck wrote: > > On 5/4/07, Duncan Murdoch <[EMAIL PROTECTED]> wrote: > >> On 5/4/2007 9:30 AM, Doran, Harold wrote: > >> > OK, so I just want to go on record as noting that following the > >> > instructions exactly (exactly, exactly, exactly, emphatically) on the > >> > web given by Duncan, Gabor, and Tony at the page below, and following > >> > the instructions in Writing R Extensions results in a successful Windows > >> > build of a package. > >> > > >> > Should this email turn up in someones search using RSiteSearch() or > >> > elsewhere, my best advice is to ignore all other documents on the web > >> > attempting to explain this. I personally went through 4 or 5 different > >> > personal web sites looking for a straightforward guide. After a week or > >> > so of late night reading and experimentation, all of those documents led > >> > me to a path of failure. After reading the info on the link below, and > >> > then referring back to Writing R Extensions, I was able to build the > >> > package in only a few hours of time. It took significantly less time to > >> > read the manual and information on the link below than it did to google > >> > help pages on the topic, read those, and end up even more confused. > >> > > >> > I'm not in the best position to offer specific recommendations on how to > >> > improve this process. The reality is that after collecting all programs > >> > required, making the required changes to the path, the Rcmd commands for > >> > the build are very simple. So, the biggest task is the collection of > >> > essential programs and modification to the path. > >> > > >> > Obviously, Rtools is designed to move forward in this direction. Its > >> > current phase still doesn't automate that collection and modification > >> > process entirely, and the reasons are given on Duncan's web site. > >> > However, I suppose the only good recommendation I can make at this point > >> > is to still move forward with Rtools such that it installs all required > >> > programs and automatically updates the path accordingly. Maybe this can > >> > even become part of the base installation. Since the open source nature > >> > of R encourages development, the tools needed for development should be > >> > readily available. > >> > > >> > I am certain this recommendation is not novel, and Duncan et al have > >> > already thought of this. But, it's my attempt to do a little better than > >> > complain. > >> > > >> > The only other piece of advice I can offer is to keep this stable. That > >> > is, when R 2.5.1 et seq are released, I beg of the developers not to > >> > require a new collection of tools or a different set up than what is > >> > already required. It is a bit of work, and if changes are required at > >> > each R release, this may be too disheartening. > >> > >> Thanks for your comments and suggestions. I've thought of a few changes > >> we can make; let me know if you see any problems with these: > >> > >> 1. I will simplify the Rtools site. Rather than duplicating the > >> information from the R-admin manual, I will just include the > >> #The-Windows-toolset link as given below, together with post-release > >> updates. This should help with the "too many places to look" problem. > >> Now, if other sites did the same... > >> > >> 2. You suggest that Rtools.exe make automatic changes to the user's > >> PATH. I'm quite reluctant to do that, because what R needs may conflict > >> with what a user needs for other work. However, something that I think > >> would be fairly easy to do would be to install a shortcut to start a > >> CMD.EXE or Cygwin shell with the path set appropriately. I'll look into > >> that. > > > > > > I agree that setting the path permanently would be bad but > > the shortcut could check to see if they are in the path already > > and if not it could find them in the registry and just change the > > session path rather than permanently set the path. > > Do you have a batch file already to do this? If I were writing it, I'd > do something simpler: I'd just hard code the paths, and expect the user > to edit the file if I didn't get them right.
rfind.bat in batchfiles checks the registry for all of these but it does not set the path (although it does output a possible path you can use without actually setting it) since I wanted the command to be completely safe, i.e. display only. C:\>path=c:\windows;c:\windows\system32 C:\>\bin\rfind PerlDir=\perl\bin\ TeXDir=C:\texmf\miktex\bin HTMLHelpDir=C:\Program Files\HTML Help Workshop R_HOME=C:\Program Files\R\R-2.5.0 Rbin=C:\Program Files\R\R-2.5.0\bin R_ROOT=C:\Program Files\R RtoolsDir=\bin\ RPATH=C:\Program Files\R\R-2.5.0\bin;\bin\;\perl\bin\;C:\Program Files\HTML Help Workshop;;c:\windows;c:\windows\system32 > > >> 3. You also suggested adding more tools to Rtools.exe. I think the key > >> tool to add would be Perl; it's the only essential tool that's currently > >> missing. Unfortunately, there are licensing issues with that for > >> ActiveState Perl, the version we currently recommend. I'll try to get > >> specific permission from ActiveState to include a copy. > >> > > > > The best, of course, would be to get rid of Perl altogether. > > I agree, but there is a lot of Perl code in the R scripts now, and I > think the maintainers of those scripts are comfortable with it. I think > R code for string handling is even harder to read than Perl, so it's not > likely to change. > > >> 4. We could include the tools in the base installation of R; that's > >> what the MacOSX release has done. However, that would at least double > >> the size of the download, even with just the minimal additions, and > >> under the GPL would require CRAN and its mirrors to host source for most > >> of the tools. What I plan to do instead is to put a link to the Rtools > >> page on the CRAN page for the Windows R binary. > > > > Some other possiblities are: > > - use a different toolset. I seem to remember that there were a few very > > compact toolsets for use with minimal systems. One basically put all > > the UNIX tools in one executable and you could just rename it successively > > to each tool you wanted. Another one used lua for implementation which > > is embeddable and very small. > > This is not really relevant. The Unix command line tools are fine: > Rtools.exe installs them, and they just work, if you get the PATH right. > The current "problem children" are Perl, LaTeX, and HHW. (Also Inno > Setup, but it's not for package builders). You indicated the problem with including them is that it would make the R download twice as large so the size is the key issue, at least based on your prior comments as I understand them. > > > - rewrite as many tools as possible in R. The full power of the tool might > > not be needed making it easier. If 80% of the tools could be easily > > eliminated > > it might not be a problem to include the remaining 20%. Or if 20% of the > > tools take up 80% of the space this might be sufficient. Of course getting > > them all in R would be nice. > > Rewriting the Perl code as R scripts is imaginable, but rewriting LaTeX > and HHW in R is not. Yes, that's what I meant. I realize its not feasible to rewrite latex and the help compiler. > > >> 5. We could modify the MkRules file that we distribute with R to assume > >> the minimal toolset, i.e. no LaTeX or CHM help. This would mean you'd > >> get fewer "not found" messages from a basic install, but might be a > >> little inconvenient for people who have the tools. Perhaps we can > >> detect whether those tools have been installed and act accordingly. > >> > > > > Not sure I understand this but could this be decided upon automatically > > by checking the user's registry for the existence of the tools? > > It might be possible to automate the tests by looking at the PATH. > Neither LaTeX nor HHW is necessarily going to show up at a predictable > location in the registry. I am not sure about this. rfind.bat currently uses the registry to find them. Is there anything wrong with the way it works? > > Duncan Murdoch > > >> 6. You suggested avoiding changes to the toolset. This is hard, > >> because the updates often fix bugs in older versions. Bugs in the tools > >> lead to bugs in R. So I think we don't have much choice but to continue > >> to make necessary updates. > >> > >> Duncan Murdoch > >> > >> > >> > > >> > Harold > >> > > >> >> -----Original Message----- > >> >> From: Duncan Murdoch [mailto:[EMAIL PROTECTED] > >> >> Sent: Thursday, May 03, 2007 3:51 PM > >> >> To: Doran, Harold > >> >> Cc: Gabor Grothendieck; [email protected] > >> >> Subject: [SPAM] - Re: [SPAM] - Re: [R] R package development > >> >> in windows - Bayesian Filter detected spam - Bayesian Filter > >> >> detected spam > >> >> > >> >> On 5/3/2007 3:33 PM, Doran, Harold wrote: > >> >> > Thanks, Duncan. I'll look into that. Is there an authoritative > >> >> > document that codifies the new package development procedures for > >> >> > 2.5.0 (windows-specific), or is that Writing R Extensions? In this > >> >> > thread alone I've received multiple emails pointing to multiple web > >> >> > sites with instructions for windows. Inasmuch as its > >> >> appreciated, I'm > >> >> > a bit confused as to which I should consider authoritative. > >> >> > > >> >> > I do hope I can resolve this and appreciate the help I've received. > >> >> > However, I feel a bit compelled to note how very difficult this > >> >> > process is. > >> >> > >> >> The manuals are the authoritative reference. Writing R > >> >> Extensions tells you what to do to set up a package. The R > >> >> Administration and Installation manual tells you how to set > >> >> up your system so those instructions will work. On Windows, > >> >> you want to pay particular attention to the appendix of the > >> >> Admin manual called "The Windows Toolset". This is Appendix E > >> >> in the distributed .pdf; an HTML version is available here: > >> >> > >> >> > >> >> http://cran.r-project.org/doc/manuals/R-admin.html#The-Windows-toolset > >> >> > >> >> We realize that these instructions are not easy to follow, > >> >> there's no need to tell us that. However, specific > >> >> corrections or improvements would be welcome. > >> >> > >> >> Duncan Murdoch > >> >> > >> >> > >> >> > Harold > >> >> > > >> >> > > >> >> >> -----Original Message----- > >> >> >> From: Duncan Murdoch [mailto:[EMAIL PROTECTED] > >> >> >> Sent: Thursday, May 03, 2007 3:24 PM > >> >> >> To: Doran, Harold > >> >> >> Cc: Gabor Grothendieck; [email protected] > >> >> >> Subject: [SPAM] - Re: [R] R package development in windows > >> >> - Bayesian > >> >> >> Filter detected spam > >> >> >> > >> >> >> On 5/3/2007 3:04 PM, Doran, Harold wrote: > >> >> >> > Thanks Gabor, Sundar, and Tony. Indeed, Rtools was > >> >> missing from the > >> >> >> > path. With that resolved, and another 10 minute windows > >> >> >> restart, I get > >> >> >> > the following below. The log suggests that hhc is not > >> >> installed. It > >> >> >> > is, and, according to the directions I am following, I have > >> >> >> placed it > >> >> >> > in the c:\cygwin directory. > >> >> >> > >> >> >> I think the problem is that you are following a real mix of > >> >> >> instructions, and they don't make sense. > >> >> >> > >> >> >> It would be nice if folks would submit patches to the R > >> >> Admin manual > >> >> >> (or to the Rtools web site) rather than putting together web sites > >> >> >> with advice that is bad from day one, and quickly gets > >> >> worse when it > >> >> >> is not updated. > >> >> >> > >> >> >> > BTW, package.skeleton() doesn't seem to create the correct > >> >> >> DESCRIPTION > >> >> >> > template. I had to add the DEPENDS line. Without this, I > >> >> >> get another > >> >> >> > error. > >> >> >> > > >> >> >> > > >> >> >> > C:\Program Files\R\R-2.4.1\bin>Rcmd build --force --binary g:\foo > >> >> >> > >> >> >> R 2.4.1 is no longer current; the package building > >> >> instructions in R > >> >> >> 2.5.0 have been simplified a bit. You might want to try those. > >> >> >> > >> >> >> Duncan Murdoch > >> >> >> > >> >> >> > * checking for file 'g:\foo/DESCRIPTION' ... OK > >> >> >> > * preparing 'g:\foo': > >> >> >> > * checking DESCRIPTION meta-information ... OK > >> >> >> > * removing junk files > >> >> >> > * checking for LF line-endings in source files > >> >> >> > * checking for empty or unneeded directories > >> >> >> > * building binary distribution > >> >> >> > WARNING > >> >> >> > * some HTML links may not be found > >> >> >> > installing R.css in c:/TEMP/Rinst40061099 > >> >> >> > > >> >> >> > Using auto-selected zip options '' > >> >> >> > latex: not found > >> >> >> > latex: not found > >> >> >> > latex: not found > >> >> >> > > >> >> >> > ---------- Making package foo ------------ > >> >> >> > latex: not found > >> >> >> > adding build stamp to DESCRIPTION > >> >> >> > latex: not found > >> >> >> > latex: not found > >> >> >> > latex: not found > >> >> >> > installing R files > >> >> >> > latex: not found > >> >> >> > installing data files > >> >> >> > latex: not found > >> >> >> > installing man source files > >> >> >> > installing indices > >> >> >> > latex: not found > >> >> >> > not zipping data > >> >> >> > installing help > >> >> >> > Warning: \alias{foo} already in foo-package.Rd -- skipping > >> >> >> the one in > >> >> >> > foo.Rd >>> Building/Updating help pages for package 'foo' > >> >> >> > Formats: text html latex example chm > >> >> >> > foo-package text html latex > >> >> >> example chm > >> >> >> > foo text html latex > >> >> >> example chm > >> >> >> > mydata text html latex > >> >> >> example chm > >> >> >> > hhc: not found > >> >> >> > cp: cannot stat `c:/TEMP/Rbuild40048815/foo/chm/foo.chm': > >> >> >> No such file > >> >> >> > or direct ory > >> >> >> > make[1]: *** [chm-foo] Error 1 > >> >> >> > make: *** [pkg-foo] Error 2 > >> >> >> > *** Installation of foo failed *** > >> >> >> > > >> >> >> > Removing 'c:/TEMP/Rinst40061099/foo' > >> >> >> > ERROR > >> >> >> > * installation failed > >> >> >> > > >> >> >> > > >> >> >> > C:\Program Files\R\R-2.4.1\bin> > >> >> >> > > >> >> >> >> -----Original Message----- > >> >> >> >> From: Gabor Grothendieck [mailto:[EMAIL PROTECTED] > >> >> >> >> Sent: Thursday, May 03, 2007 2:50 PM > >> >> >> >> To: Doran, Harold > >> >> >> >> Cc: [email protected] > >> >> >> >> Subject: Re: [R] R package development in windows > >> >> >> >> > >> >> >> >> It can find sh.exe so you haven't installed Rtools. > >> >> >> >> > >> >> >> >> There are several HowTo's listed in the links section here that > >> >> >> >> include pointers to R manuals and other step by step > >> >> >> >> instructions: > >> >> >> >> > >> >> >> >> http://code.google.com/p/batchfiles/ > >> >> >> >> > >> >> >> >> On 5/3/07, Doran, Harold <[EMAIL PROTECTED]> wrote: > >> >> >> >> > I'm attempting to build an R package for distribution and > >> >> >> >> am working > >> >> >> >> > from the directions found at > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> http://www.maths.bris.ac.uk/~maman/computerstuff/Rhelp/Rpackages.html > >> >> >> >> # > >> >> >> >> > Wi > >> >> >> >> > n-Win > >> >> >> >> > > >> >> >> >> > I've read through Writing R Extensions and various other > >> >> >> >> "helpful" web > >> >> >> >> > sites. I've installed all relevant software (perl, > >> >> >> cygwin, mingwin, > >> >> >> >> > hhc.exe). Here is what I have done so far: > >> >> >> >> > > >> >> >> >> > 1) Sourced data and functions into R > >> >> >> >> > 2) Used package.skeleton > >> >> >> >> > 3) Edited Description file > >> >> >> >> > 4) Edited my windows path to ensure the new programs (e.g., > >> >> >> >> perl) are > >> >> >> >> > in the path > >> >> >> >> > 5) Then, I open DOS and do the following in the script below > >> >> >> >> > > >> >> >> >> > C:\Program Files\R\R-2.4.1\bin>Rcmd build --force > >> >> >> --binary g:\foo > >> >> >> >> > * checking for file 'g:\foo/DESCRIPTION' ... OK > >> >> >> >> > * preparing 'g:\foo': > >> >> >> >> > * checking DESCRIPTION meta-information ...'sh' is not > >> >> >> >> recognized as > >> >> >> >> > an internal or external command, operable program or > >> >> batch file. > >> >> >> >> > OK > >> >> >> >> > * removing junk files > >> >> >> >> > 'sh' is not recognized as an internal or external > >> >> >> command, operable > >> >> >> >> > program or batch file. > >> >> >> >> > 'sh' is not recognized as an internal or external > >> >> >> command, operable > >> >> >> >> > program or batch file. > >> >> >> >> > 'sh' is not recognized as an internal or external > >> >> >> command, operable > >> >> >> >> > program or batch file. > >> >> >> >> > Error: cannot open file 'foo/DESCRIPTION' for reading > >> >> >> >> > > >> >> >> >> > I'ver read through about as much documentation as I can > >> >> >> >> find, and I'm > >> >> >> >> > just not sure what I should do from here. I admit that I > >> >> >> >> have reached > >> >> >> >> > a point of frustration and must apologize if the problem > >> >> >> would be > >> >> >> >> > evident if I read documentation further, but I'm about > >> >> >> tapped out > >> >> >> >> > after a few days of experimentation. > >> >> >> >> > > >> >> >> >> > Can anyone suggest how I could resolve this and what the > >> >> >> next steps > >> >> >> >> > would be? > >> >> >> >> > > >> >> >> >> > Thanks: > >> >> >> >> > > >> >> >> >> > I'm using Windows XP and R 2.4.1 > >> >> >> >> > > >> >> >> >> > Harold > >> >> >> >> > > >> >> >> >> > [[alternative HTML version deleted]] > >> >> >> >> > > >> >> >> >> > ______________________________________________ > >> >> >> >> > [email protected] mailing list > >> >> >> >> > https://stat.ethz.ch/mailman/listinfo/r-help > >> >> >> >> > PLEASE do read the posting guide > >> >> >> >> > http://www.R-project.org/posting-guide.html > >> >> >> >> > and provide commented, minimal, self-contained, > >> >> >> reproducible code. > >> >> >> >> > > >> >> >> >> > >> >> >> > > >> >> >> > ______________________________________________ > >> >> >> > [email protected] mailing list > >> >> >> > https://stat.ethz.ch/mailman/listinfo/r-help > >> >> >> > PLEASE do read the posting guide > >> >> >> > http://www.R-project.org/posting-guide.html > >> >> >> > and provide commented, minimal, self-contained, > >> >> reproducible code. > >> >> >> > >> >> >> > >> >> > >> >> > >> > >> > > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
