Thalles
2014-Sep-04 15:15 UTC
[Rd] R CMD check --as-cran does not show all error messages.
Hello, That is my first post here and I'd like to thanks everybody in
advance.
I am writing a package with some R functions and try to submit it to CRAN.
After build and check the package a number of times, I am struggling with
the fact that the CRAN people responsible for checking packages are
replying me with some mistakes that I just do NOT get when I do the check in
my computer. With the most recent R version, i.e. 3.1.1 and the command R
CMD check --as-cran on my package I get:
* using log directory ?/home/thalles/Music/opentraj.Rcheck?
* using R version 3.1.1 (2014-07-10)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file ?opentraj/DESCRIPTION? ... OK
* checking extension type ... Package
* this is package ?opentraj? version ?1.0?
* checking CRAN incoming feasibility ... NOTE
Maintainer: ?Thalles Silva <tsantossilva at algomau.ca>?
New submission
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package ?opentraj? can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ...
OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd line widths ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking contents of ?data? directory ... OK
* checking data for non-ASCII characters ... OK
* checking data for ASCII and uncompressed saves ... OK
* checking examples ... OK
Examples with CPU or elapsed time > 5s
user system elapsed
Df2SpLinesDf 67.203 0.254 67.564
Df2SpLines 36.962 0.200 37.220
PlotTraj 6.802 0.048 6.860
hytraj07.lines 5.641 0.049 5.699
hytraj07.linesDf 5.229 0.059 5.295
* checking PDF version of manual ... OK
NOTE: There was 1 note.
However, the people from CRAN claim that there is a error:
* checking R code for possible problems ... NOTE
PlotBgMap: no visible binding for global variable ?canada.map?
This function 'PlotBgMap' loads this data set ?canada.map?, that is part
of
the package. And the *LazyData: yes* is set in the DESCRIPTION file. I know
that the cause of this error is because somehow, the package is not being
loaded in the NAMESPACE, but it should be there because I am using LazyData.
That is the code for the PlotBgMap function:
PlotBgMap <-function( traj, ... ) {
hySplitProj <- CRS(proj4string(traj))
canada <- spTransform(canada.map, hySplitProj)
plot(canada.map, border="white", col="lightgrey", ... )
}
I'd like to know if I am missing something in the Checking process, or if I
should do anything else to fix this error. Thanks.
--
View this message in context:
http://r.789695.n4.nabble.com/R-CMD-check-as-cran-does-not-show-all-error-messages-tp4696489.html
Sent from the R devel mailing list archive at Nabble.com.
Mikko Korpela
2014-Sep-05 07:04 UTC
[Rd] R CMD check --as-cran does not show all error messages.
On 04.09.2014 18:15, Thalles wrote:> I am writing a package with some R functions and try to submit it to CRAN. > After build and check the package a number of times, I am struggling with > the fact that the CRAN people responsible for checking packages are > replying me with some mistakes that I just do NOT get when I do the check in > my computer. With the most recent R version, i.e. 3.1.1 and the command R > CMD check --as-cran on my package I get:(check log with no errors)> However, the people from CRAN claim that there is a error: > > * checking R code for possible problems ... NOTE > PlotBgMap: no visible binding for global variable ?canada.map? > > This function 'PlotBgMap' loads this data set ?canada.map?, that is part of > the package. And the *LazyData: yes* is set in the DESCRIPTION file. I know > that the cause of this error is because somehow, the package is not being > loaded in the NAMESPACE, but it should be there because I am using LazyData. > That is the code for the PlotBgMap function: > > PlotBgMap <-function( traj, ... ) { > hySplitProj <- CRS(proj4string(traj)) > canada <- spTransform(canada.map, hySplitProj) > plot(canada.map, border="white", col="lightgrey", ... ) > } > > I'd like to know if I am missing something in the Checking process, or if I > should do anything else to fix this error. Thanks.It seems that this is the same issue as discussed recently on this mailing list, with the title "no visible binding for global variable for data sets in a package". I recommend reading the message thread. Short story: There was a recent change to package checking in the development version of R (R-devel). This more rigorous check is not included in the current release version 3.1.1. You can use opentraj::canada.map to access this particular data set, and a similar approach for any other LazyData in your package. The :: technique was suggested in the aforementioned message thread by professors Brian D. Ripley and Peter Dalgaard. Quoting "Changes in R-devel", http://stat.ethz.ch/R-manual/R-devel/doc/html/NEWS.html> R CMD check now by default checks code usage directly on the package > namespace without loading and attaching the package and its suggests > and enhances. For good practice with packages in the Suggests field, > see ?1.1.3.1 of ?Writing R Extensions?.The CRAN Repository Policy, http://cran.r-project.org/web/packages/policies.html, suggests using the most recent R-devel for package checking before submission. -- Mikko Korpela Aalto University School of Science Department of Information and Computer Science