Re: [Rd] R CMD install: problem quoting spaces when calling gzip?
You haven't told us your version of R (nor any of the other information requested in the posting guide). As far as I can see this works in 2.11.0 alpha. On Fri, 26 Mar 2010, jochen laubrock wrote: There appears to be a quoting problem in the way R CMD install handles file names containing spaces, more specifically, in the way the argument is passed through to gzip. The install.packages command (from R) install.packages("~/Projects/R library/bar/eyetrackR_0.13.tar.gz", repos = NULL, type = "source") expands to system("R_LIBS='/Users/foo/Library/R/2.10/library' "/Library/Frameworks/R.framework/Resources/bin/R CMD INSTALL -l '/Users/foo/Library/R/2.10/library' '/Users/foo/Projects/R\ library/bar/eyetrackR_0.13.tar.gz'") So that is fine. and gives the same error messages as the following commands from Terminal.app on Mac OS X (from bash) R CMD install /Users/foo/Projects/R\ library/bar/eyetrackR_0.13.tar.gz R CMD install "~/Projects/R library/bar/eyetrackR_0.13.tar.gz" R CMD install '~/Projects/R library/bar/eyetrackR_0.13.tar.gz' the documented command is INSTALL. , namely (the error messages): gzip: /Users/foo/Projects/R.gz: No such file or directory gzip: library/bar/eyetrackR_0.13.tar.gz: No such file or directory Yes, and INSTALL is not designed to work with paths with spaces in on Unix-alikes. The following commands do work (from R) setwd("~/Projects/R library/bar/") install.packages("eyetrackR_0.13.tar.gz", repos = NULL, type = "source") (from bash) cd ~/Projects/R\ library/bar/ R CMD install eyetrackR_0.13.tar.gz Interestingly, if the file is unpacked on the command line (tar xzvf), then both R CMD install and install.packages work fine using the quoted path name syntax, i.e., R CMD install /Users/foo/Projects/R\ library/bar/eyetrackR install.packages("~/Projects/R library/bar/eyetrackR", repos = NULL, type = "source") Is this a known problem? It is a known restriction. I searched the archives, but did not find a decisive answer (only some rather old posts suggesting not to use path names containing spaces--unfortunately this is not an option in the managed Windows environment I need to work in next week). Sorry for the long post and thanks for your time, Jochen Jochen Laubrock, Dept. of Psychology, University of Potsdam, Karl-Liebknecht-Strasse 24-25, 14476 Potsdam, Germany phone: +49-331-977-2346, fax: +49-331-977-2793 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- Brian D. Ripley, rip...@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UKFax: +44 1865 272595 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] R CMD install: problem quoting spaces when calling gzip?
I am sorry, this was from 2.10.1 on Mac OS X 10.6, so it might be Mac-specific. The behavior is reproducible both from the shell and the GUI version of R (sessionInfo output below). It does not seem to depend on the particular package: it can be reproduced by downloading an archive of a package from CRAN to a path containing spaces and calling install.packages("path/with spaces/downloadedPackage.tar.gz", repos = NULL, type = "source"): > print(dl <- download.packages("gam", destdir="~/Projects/R library/tmp")) [...] downloaded 300 Kb [,1] [,2] [1,] "gam" "~/Projects/R library/tmp/gam_1.01.tgz" > install.packages(dl[,2], repos = NULL, type = "source") [...] gzip: /Users/jochen/Projects/R.gz: No such file or directory gzip: library/tmp/gam_1.01.tgz: No such file or directory ERROR: cannot extract package from ‘/Users/jochen/Projects/R library/tmp/gam_1.01.tgz’ # /usr/bin/R > sessionInfo() R version 2.10.1 (2009-12-14) x86_64-apple-darwin9.8.0 locale: [1] de_DE.UTF-8/de_DE.UTF-8/C/C/de_DE.UTF-8/de_DE.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base # R.app (RAqua) > sessionInfo() R version 2.10.1 (2009-12-14) i386-apple-darwin9.8.0 locale: [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base On Mar 26, 2010, at 10:19 , Prof Brian Ripley wrote: > You haven't told us your version of R (nor any of the other information > requested in the posting guide). As far as I can see this works in 2.11.0 > alpha. Does that mean that it has been re-designed to work with paths containing spaces on Unix-alikes? > > On Fri, 26 Mar 2010, jochen laubrock wrote: > >> There appears to be a quoting problem in the way R CMD install handles file >> names containing spaces, more specifically, in the way the argument is >> passed through to gzip. >> >> The install.packages command >> >> (from R) >> install.packages("~/Projects/R library/bar/eyetrackR_0.13.tar.gz", repos = >> NULL, type = "source") >> >> expands to >> >> system("R_LIBS='/Users/foo/Library/R/2.10/library' >> "/Library/Frameworks/R.framework/Resources/bin/R CMD INSTALL -l >> '/Users/foo/Library/R/2.10/library' '/Users/foo/Projects/R\ >> library/bar/eyetrackR_0.13.tar.gz'") > > So that is fine. > >> >> and gives the same error messages as the following commands from >> Terminal.app on Mac OS X >> >> (from bash) >> R CMD install /Users/foo/Projects/R\ library/bar/eyetrackR_0.13.tar.gz >> R CMD install "~/Projects/R library/bar/eyetrackR_0.13.tar.gz" >> R CMD install '~/Projects/R library/bar/eyetrackR_0.13.tar.gz' > > the documented command is INSTALL. sorry > >> , namely (the error messages): >> >> gzip: /Users/foo/Projects/R.gz: No such file or directory >> gzip: library/bar/eyetrackR_0.13.tar.gz: No such file or directory > > Yes, and INSTALL is not designed to work with paths with spaces in on > Unix-alikes. > >> >> The following commands do work >> >> (from R) >> setwd("~/Projects/R library/bar/") >> install.packages("eyetrackR_0.13.tar.gz", repos = NULL, type = "source") >> >> (from bash) >> cd ~/Projects/R\ library/bar/ >> R CMD install eyetrackR_0.13.tar.gz >> >> Interestingly, if the file is unpacked on the command line (tar xzvf), then >> both R CMD install and install.packages work fine using the quoted path name >> syntax, i.e., >> >> R CMD install /Users/foo/Projects/R\ library/bar/eyetrackR >> install.packages("~/Projects/R library/bar/eyetrackR", repos = NULL, type = >> "source") >> >> Is this a known problem? > > It is a known restriction. > >> I searched the archives, but did not find a decisive answer (only > some rather old posts suggesting not to use path names containing > spaces--unfortunately this is not an option in the managed Windows > environment I need to work in next week). >> >> Sorry for the long post and thanks for your time, >> Jochen >> >> >> Jochen Laubrock, Dept. of Psychology, University of Potsdam, >> Karl-Liebknecht-Strasse 24-25, 14476 Potsdam, Germany >> phone: +49-331-977-2346, fax: +49-331-977-2793 >> >> __ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > > -- > Brian D. Ripley, rip...@stats.ox.ac.uk > Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ > University of Oxford, Tel: +44 1865 272861 (self) > 1 South Parks Road, +44 1865 272866 (PA) > Oxford OX1 3TG, UKFax: +44 1865 272595 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] R CMD install: problem quoting spaces when calling gzip?
So please try 2.11.0 alpha, as I believe this is already fixed (not least, gzip is not called on that platform). Also, I suspect setting the envir variable TAR to 'internal' would work on 2.10.1 (but my Mac is at home). Another thing that does not work with spaces in file names is command-line completion of filenames (in R, I did not try R.app). If spaces in filenames work (other than on Windows) it is somewhat accidental. Reports of instances where they do not, with patches against current sources, would be considered but as low priority. BTW, 'install' works on case-insensitive file systems, but it is likely to stop working at any time: as on Windows, 'R CMD' is being moved away from Perl/sh scripts to direct use of R. On Fri, 26 Mar 2010, jochen laubrock wrote: I am sorry, this was from 2.10.1 on Mac OS X 10.6, so it might be Mac-specific. I did try it on a Mac, but I did not try 2.10.1, since the 'upgrade before posting' request in the posting guide did apply, and we are busy enough with 2.11.0 alpha. The behavior is reproducible both from the shell and the GUI version of R (sessionInfo output below). It does not seem to depend on the particular package: it can be reproduced by downloading an archive of a package from CRAN to a path containing spaces and calling install.packages("path/with spaces/downloadedPackage.tar.gz", repos = NULL, type = "source"): print(dl <- download.packages("gam", destdir="~/Projects/R library/tmp")) [...] downloaded 300 Kb [,1] [,2] [1,] "gam" "~/Projects/R library/tmp/gam_1.01.tgz" install.packages(dl[,2], repos = NULL, type = "source") [...] gzip: /Users/jochen/Projects/R.gz: No such file or directory gzip: library/tmp/gam_1.01.tgz: No such file or directory ERROR: cannot extract package from ‘/Users/jochen/Projects/R library/tmp/gam_1.01.tgz’ # /usr/bin/R sessionInfo() R version 2.10.1 (2009-12-14) x86_64-apple-darwin9.8.0 locale: [1] de_DE.UTF-8/de_DE.UTF-8/C/C/de_DE.UTF-8/de_DE.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base # R.app (RAqua) sessionInfo() R version 2.10.1 (2009-12-14) i386-apple-darwin9.8.0 locale: [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base On Mar 26, 2010, at 10:19 , Prof Brian Ripley wrote: You haven't told us your version of R (nor any of the other information requested in the posting guide). As far as I can see this works in 2.11.0 alpha. Does that mean that it has been re-designed to work with paths containing spaces on Unix-alikes? No. It is an unintentional side-effect of o R CMD INSTALL now uses the internal untar() in package utils: this ensures that all platforms can install bzip2- and xz-compressed tarballs. On Fri, 26 Mar 2010, jochen laubrock wrote: There appears to be a quoting problem in the way R CMD install handles file names containing spaces, more specifically, in the way the argument is passed through to gzip. The install.packages command (from R) install.packages("~/Projects/R library/bar/eyetrackR_0.13.tar.gz", repos = NULL, type = "source") expands to system("R_LIBS='/Users/foo/Library/R/2.10/library' "/Library/Frameworks/R.framework/Resources/bin/R CMD INSTALL -l '/Users/foo/Library/R/2.10/library' '/Users/foo/Projects/R\ library/bar/eyetrackR_0.13.tar.gz'") So that is fine. and gives the same error messages as the following commands from Terminal.app on Mac OS X (from bash) R CMD install /Users/foo/Projects/R\ library/bar/eyetrackR_0.13.tar.gz R CMD install "~/Projects/R library/bar/eyetrackR_0.13.tar.gz" R CMD install '~/Projects/R library/bar/eyetrackR_0.13.tar.gz' the documented command is INSTALL. sorry , namely (the error messages): gzip: /Users/foo/Projects/R.gz: No such file or directory gzip: library/bar/eyetrackR_0.13.tar.gz: No such file or directory Yes, and INSTALL is not designed to work with paths with spaces in on Unix-alikes. The following commands do work (from R) setwd("~/Projects/R library/bar/") install.packages("eyetrackR_0.13.tar.gz", repos = NULL, type = "source") (from bash) cd ~/Projects/R\ library/bar/ R CMD install eyetrackR_0.13.tar.gz Interestingly, if the file is unpacked on the command line (tar xzvf), then both R CMD install and install.packages work fine using the quoted path name syntax, i.e., R CMD install /Users/foo/Projects/R\ library/bar/eyetrackR install.packages("~/Projects/R library/bar/eyetrackR", repos = NULL, type = "source") Is this a known problem? It is a known restriction. I searched the archives, but did not find a decisive answer (only some rather old posts suggesting not to use path names containing spaces--unfortunately this is not an option in the managed Windows environment I need to work in next week). Sorry for the long post and thanks for your time, Jochen Jochen Laubrock,
Re: [Rd] R CMD install: problem quoting spaces when calling gzip?
Yes, that worked, thanks a lot! Looking forward to the 2.11.0 release. > install.packages("~/Projects/R > Library/potsdam/eyetrackR/eyetrackR_0.13.tar.gz", repos = NULL, type = > "source") * installing *source* package ‘eyetrackR’ ... ** R ** data ** demo ** preparing package for lazy loading ** help *** installing help indices ** building package indices ... ** testing if installed package can be loaded * DONE (eyetrackR) > library(eyetrackR) > sessionInfo() R version 2.11.0 alpha (2010-03-26 r51420) x86_64-apple-darwin10.2.0 locale: [1] de_DE.UTF-8/de_DE.UTF-8/C/C/de_DE.UTF-8/de_DE.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base btw, this is probably known, but ... the gfortran in /usr/bin (gcc version 4.2.1 (Apple Inc. build 5646)) did not work (complaining about /usr/lib/libgfortran.dylib, missing required architecture x86_64), but a different gfortran located in /usr/local/bin did (gcc version 4.2.3, probably from Simon Urbanek's page) On Mar 26, 2010, at 11:51 , Prof Brian Ripley wrote: > So please try 2.11.0 alpha, as I believe this is already fixed (not least, > gzip is not called on that platform). Also, I suspect setting the envir > variable TAR to 'internal' would work on 2.10.1 (but my Mac is at home). > > Another thing that does not work with spaces in file names is command-line > completion of filenames (in R, I did not try R.app). If spaces in filenames > work (other than on Windows) it is somewhat accidental. Reports of instances > where they do not, with patches against current sources, would be considered > but as low priority. > > BTW, 'install' works on case-insensitive file systems, but it is likely to > stop working at any time: as on Windows, 'R CMD' is being moved away from > Perl/sh scripts to direct use of R. > > On Fri, 26 Mar 2010, jochen laubrock wrote: > >> I am sorry, this was from 2.10.1 on Mac OS X 10.6, so it might be >> Mac-specific. > > I did try it on a Mac, but I did not try 2.10.1, since the 'upgrade before > posting' request in the posting guide did apply, and we are busy enough with > 2.11.0 alpha. > > The behavior is reproducible both from the shell and the GUI version of R > (sessionInfo output below). It does not seem to depend on the particular > package: it can be reproduced by downloading an archive of a package from > CRAN to a path containing spaces and calling >> install.packages("path/with spaces/downloadedPackage.tar.gz", repos = NULL, >> type = "source"): >> >>> print(dl <- download.packages("gam", destdir="~/Projects/R library/tmp")) >> [...] downloaded 300 Kb >>[,1] [,2] >> [1,] "gam" "~/Projects/R library/tmp/gam_1.01.tgz" >>> install.packages(dl[,2], repos = NULL, type = "source") >> [...] >> gzip: /Users/jochen/Projects/R.gz: No such file or directory >> gzip: library/tmp/gam_1.01.tgz: No such file or directory >> ERROR: cannot extract package from ‘/Users/jochen/Projects/R >> library/tmp/gam_1.01.tgz’ >> >> # /usr/bin/R >>> sessionInfo() >> R version 2.10.1 (2009-12-14) >> x86_64-apple-darwin9.8.0 >> >> locale: >> [1] de_DE.UTF-8/de_DE.UTF-8/C/C/de_DE.UTF-8/de_DE.UTF-8 >> >> attached base packages: >> [1] stats graphics grDevices utils datasets methods base >> >> # R.app (RAqua) >>> sessionInfo() >> R version 2.10.1 (2009-12-14) >> i386-apple-darwin9.8.0 >> >> locale: >> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 >> >> attached base packages: >> [1] stats graphics grDevices utils datasets methods base >> >> >> >> On Mar 26, 2010, at 10:19 , Prof Brian Ripley wrote: >> >>> You haven't told us your version of R (nor any of the other information >>> requested in the posting guide). As far as I can see this works in 2.11.0 >>> alpha. > >> Does that mean that it has been re-designed to work with paths containing >> spaces on Unix-alikes? > > No. It is an unintentional side-effect of > >o R CMD INSTALL now uses the internal untar() in package utils: >this ensures that all platforms can install bzip2- and >xz-compressed tarballs. > >>> >>> On Fri, 26 Mar 2010, jochen laubrock wrote: >>> There appears to be a quoting problem in the way R CMD install handles file names containing spaces, more specifically, in the way the argument is passed through to gzip. The install.packages command (from R) install.packages("~/Projects/R library/bar/eyetrackR_0.13.tar.gz", repos = NULL, type = "source") expands to system("R_LIBS='/Users/foo/Library/R/2.10/library' "/Library/Frameworks/R.framework/Resources/bin/R CMD INSTALL -l '/Users/foo/Library/R/2.10/library' '/Users/foo/Projects/R\ library/bar/eyetrackR_0.13.tar.gz'") >>> >>> So that is fine. >>> and gives the same error messages as the following commands from Terminal.app on Mac OS X (from bash) R CMD install /Users/
[Rd] libgfortran [Was: R CMD install: problem quoting spaces when calling gzip?]
On Mar 26, 2010, at 8:24 , jochen laubrock wrote: Yes, that worked, thanks a lot! Looking forward to the 2.11.0 release. install.packages("~/Projects/R Library/potsdam/eyetrackR/ eyetrackR_0.13.tar.gz", repos = NULL, type = "source") * installing *source* package ‘eyetrackR’ ... ** R ** data ** demo ** preparing package for lazy loading ** help *** installing help indices ** building package indices ... ** testing if installed package can be loaded * DONE (eyetrackR) library(eyetrackR) sessionInfo() R version 2.11.0 alpha (2010-03-26 r51420) x86_64-apple-darwin10.2.0 locale: [1] de_DE.UTF-8/de_DE.UTF-8/C/C/de_DE.UTF-8/de_DE.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base btw, this is probably known, but ... the gfortran in /usr/bin (gcc version 4.2.1 (Apple Inc. build 5646)) did not work (complaining about /usr/lib/libgfortran.dylib, missing required architecture x86_64), I suspect you have installed broken 3rd party Fortran at some point. Our apple build Fortran uses static libraries and includes all architectures. I would suggest removing libgfortran.dylib (and any other left-overs from 3rd party compilers). Cheers, Simon but a different gfortran located in /usr/local/bin did (gcc version 4.2.3, probably from Simon Urbanek's page) On Mar 26, 2010, at 11:51 , Prof Brian Ripley wrote: So please try 2.11.0 alpha, as I believe this is already fixed (not least, gzip is not called on that platform). Also, I suspect setting the envir variable TAR to 'internal' would work on 2.10.1 (but my Mac is at home). Another thing that does not work with spaces in file names is command-line completion of filenames (in R, I did not try R.app). If spaces in filenames work (other than on Windows) it is somewhat accidental. Reports of instances where they do not, with patches against current sources, would be considered but as low priority. BTW, 'install' works on case-insensitive file systems, but it is likely to stop working at any time: as on Windows, 'R CMD' is being moved away from Perl/sh scripts to direct use of R. On Fri, 26 Mar 2010, jochen laubrock wrote: I am sorry, this was from 2.10.1 on Mac OS X 10.6, so it might be Mac-specific. I did try it on a Mac, but I did not try 2.10.1, since the 'upgrade before posting' request in the posting guide did apply, and we are busy enough with 2.11.0 alpha. The behavior is reproducible both from the shell and the GUI version of R (sessionInfo output below). It does not seem to depend on the particular package: it can be reproduced by downloading an archive of a package from CRAN to a path containing spaces and calling install.packages("path/with spaces/downloadedPackage.tar.gz", repos = NULL, type = "source"): print(dl <- download.packages("gam", destdir="~/Projects/R library/tmp")) [...] downloaded 300 Kb [,1] [,2] [1,] "gam" "~/Projects/R library/tmp/gam_1.01.tgz" install.packages(dl[,2], repos = NULL, type = "source") [...] gzip: /Users/jochen/Projects/R.gz: No such file or directory gzip: library/tmp/gam_1.01.tgz: No such file or directory ERROR: cannot extract package from ‘/Users/jochen/Projects/R library/tmp/gam_1.01.tgz’ # /usr/bin/R sessionInfo() R version 2.10.1 (2009-12-14) x86_64-apple-darwin9.8.0 locale: [1] de_DE.UTF-8/de_DE.UTF-8/C/C/de_DE.UTF-8/de_DE.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base # R.app (RAqua) sessionInfo() R version 2.10.1 (2009-12-14) i386-apple-darwin9.8.0 locale: [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base On Mar 26, 2010, at 10:19 , Prof Brian Ripley wrote: You haven't told us your version of R (nor any of the other information requested in the posting guide). As far as I can see this works in 2.11.0 alpha. Does that mean that it has been re-designed to work with paths containing spaces on Unix-alikes? No. It is an unintentional side-effect of o R CMD INSTALL now uses the internal untar() in package utils: this ensures that all platforms can install bzip2- and xz-compressed tarballs. On Fri, 26 Mar 2010, jochen laubrock wrote: There appears to be a quoting problem in the way R CMD install handles file names containing spaces, more specifically, in the way the argument is passed through to gzip. The install.packages command (from R) install.packages("~/Projects/R library/bar/ eyetrackR_0.13.tar.gz", repos = NULL, type = "source") expands to system("R_LIBS='/Users/foo/Library/R/2.10/library' "/Library/ Frameworks/R.framework/Resources/bin/R CMD INSTALL -l '/Users/ foo/Library/R/2.10/library' '/Users/foo/Projects/R\ library/ bar/eyetrackR_0.13.tar.gz'") So that is fine. and gives the same error messages as the following commands from Terminal.app on Mac OS X (from ba
Re: [Rd] : Operator overloading for custom classes
> > I need some help to get some of the object orientation, specifically the > methods that overload the basic arithmetic operations, from sample C++ > code to R. I don't have experience with such advanced language features > inside of R. So I was wondering if some of you could help me out in this > regard. > > I have written a simple demonstration of a forward mode automatic > differentiator in C++ and it is currently hosted on github: > http://github.com/quantumelixir/ad-demo/blob/master/simple.cpp. It uses > simple operator overloading techniques to modify the meaning of the > basic arithmetic operations (+, -, *, /) for the "derivative" type Dual > number class that I have defined. Could you show me how this could be > equivalently done in R? I want to know how to define custom classes and > define the meaning of arithmetic for them. > > I had checked for operator overloading in R but could only find the > equivalence of a + b and '+'(a, b) in the R language definition. Could > you show how I could extend the simple object oriented-ness in the C++ > code neatly to R? > > Thanks a bunch! > Chillu > > [[alternative HTML version deleted]] > First of all you should read about S4 classes, in particular the books of John Chambers should be helpful ;-) (others on this list might point you to further sources). The key is to define S4 classes for your operands [i.e; if I have understood correctly you would implement your Dual number class as S4 class]. Then you would define new methods by setMethod(). Not sure whether this gives you the indications you look for, but we have overloaded arithmetic operators to act on distribution classes in package distr (cf CRAN, developped under r-forge). You might want to look at the code in NormalDistribution.R resp. ContDistribution.R HTH Peter Ruckdeschel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel