From ligges at statistik.tu-dortmund.de  Fri Feb 26 17:03:10 2010
From: ligges at statistik.tu-dortmund.de (Uwe Ligges)
Date: Fri, 26 Feb 2010 17:03:10 +0100
Subject: [Rd] build, data and vignettes
In-Reply-To: <e780c0971002260745q44c2ed28ta1a7805e58cdab14@mail.gmail.com>
References: <e780c0971002241205t2f5c8e5gb0c3eb3110406a0d@mail.gmail.com>	<alpine.LFD.2.00.1002260650300.24621@gannet.stats.ox.ac.uk>	<e780c0971002260744x311159f2x7bd7264a9e97a8ff@mail.gmail.com>
	<e780c0971002260745q44c2ed28ta1a7805e58cdab14@mail.gmail.com>
Message-ID: <4B87F0BE.8040804@statistik.tu-dortmund.de>


R CMD check executes the R code in the vignettes and checks if that 
works, and it checks if the PDFs are available. It does not check if it 
can build the vignettes, because that is only necessary on the 
maintainer's machine since the PDFs are shipped with the (built) source 
package.

Best,
Uwe Ligges




On 26.02.2010 16:45, Kasper Daniel Hansen wrote:
> (forwarding to R-devel)
>
> Prof. Ripley
>
> Thanks a lot for the help.
>
> I greatly appreciate the clarification that R does indeed install the
> package during the build process.  I must have been confused.  The
> error is now fixed and was not related to my (false) claim that R
> could not locate a dataset in /data.
>
> You were not able to replicate the error because you were using the
> _build_ tarballs available from (I guess)
>   http://bioconductor.org/packages/2.6/bioc/src/contrib/Genominator_1.1.3.tar.gz
> These tarballs are only put up, when the package passes R CMD build
> (naturally enough).  The version of Genominator I had problems with
> was 1.1.4 which is only available from subversion (since it did not
> build when I wrote the email).  1.1.4 ought to be available in a few
> days when the build system picks up on the changes I just committed.
>
> I did mention that I saw that the package did not complete R CMD
> build, but (semi-passed)
>   R CMD build --no-vignettes Genominator
>   R CMD check Genominator_XXX.tar.gz
>
> I have no double checked this, see output below.  I am using an
> R-devel that is a week old or so.  What I do below is
> 1) check out the package from svn
> 2) R CMD build --no-vignettes
> 3) R CMD check on the tarball.  Looks like it "passes" R CMD check
> with a warning about missing PDFs
> 4) verify that the source directory is empty by running svn status
> 5) R CMD build  which fails (as it should)
> (Note the package - in this svn version - has errors in the vignette)
>
> I would have expected that R CMD check failed or at least told me that
> the vignettes do not build.
>
> Of course, given my earlier mistakes with this, I could be messing
> something up.
>
> Output below.
>
> Thanks as always,
> Kasper
>
> compute-0-19:~/Work/packages/temp/>  echo $BIOCSVN
> https://hedgehog.fhcrc.org/gentleman/bioconductor/trunk/madman/Rpacks
> compute-0-19:~/Work/packages/temp/>  svn co -r 44843 $BIOCSVN/Genominator
>   <OUTOUR REMOVED>
> Checked out revision 44843.
> compute-0-19:~/Work/packages/temp/>  R-devel CMD build --no-vignettes
> Genominator
> * checking for file 'Genominator/DESCRIPTION' ... OK
> * preparing 'Genominator':
> * checking DESCRIPTION meta-information ... OK
> * removing junk files
> * checking for LF line-endings in source and make files
> * checking for empty or unneeded directories
> * building 'Genominator_1.1.4.tar.gz'
>
> compute-0-19:~/Work/packages/temp/>  R-devel CMD check Genominator_1.1.4.tar.gz
> * checking for working pdflatex ... OK
> * using log directory
> '/home/bst/student/khansen/Work/packages/temp/Genominator.Rcheck'
> * using R version 2.11.0 Under development (unstable) (2010-02-15 r51142)
> * using session charset: ISO8859-15
> * checking for file 'Genominator/DESCRIPTION' ... OK
> * this is package 'Genominator' version '1.1.4'
> * checking package name space information ... OK
> * checking package dependencies ... OK
> * checking if this is a source package ... OK
> * checking for executable files ... OK
> * checking whether package 'Genominator' can be installed ... OK
> * checking package directory ... OK
> * checking for portable file names ... OK
> * checking for sufficient/correct file permissions ... OK
> * checking DESCRIPTION meta-information ... OK
> * checking top-level 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 name space can be loaded with stated dependencies ... OK
> * checking whether the name space can be unloaded cleanly ... OK
> * checking for unstated 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 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 data for non-ASCII characters ... OK
> * checking examples ... OK
> * checking tests ...
>   OK
> * checking package vignettes in 'inst/doc' ... WARNING
> Package vignettes without corresponding PDF:
>   /home/bst/student/khansen/Work/packages/temp/Genominator.Rcheck/00_pkg_src/Genominator/inst/doc/Genominator.Rnw
>   /home/bst/student/khansen/Work/packages/temp/Genominator.Rcheck/00_pkg_src/Genominator/inst/doc/plotting.Rnw
>   /home/bst/student/khansen/Work/packages/temp/Genominator.Rcheck/00_pkg_src/Genominator/inst/doc/withShortRead.Rnw
> * checking PDF version of manual ... OK
>
> WARNING: There was 1 warning, see
>   /home/bst/student/khansen/Work/packages/temp/Genominator.Rcheck/00check.log
> for details
>
> compute-0-19:~/Work/packages/temp/>  svn status Genominator
> compute-0-19:~/Work/packages/temp/>  R-devel CMD build Genominator
> * checking for file 'Genominator/DESCRIPTION' ... OK
> * preparing 'Genominator':
> * checking DESCRIPTION meta-information ... OK
> * installing the package to re-build vignettes
> * installing *source* package 'Genominator' ...
> ** R
> ** data
> ** inst
> ** preparing package for lazy loading
> Loading required package: DBI
>
> Attaching package: 'IRanges'
>
> The following object(s) are masked from 'package:base':
>
>     Map, cbind, mapply, order, pmax, pmax.int, pmin, pmin.int, rbind,
>     rep.int, table
>
> ** help
> *** installing help indices
> ** building package indices ...
> * DONE (Genominator)
> * creating vignettes ... ERROR
> Loading required package: RSQLite
> Loading required package: DBI
> Loading required package: IRanges
>
> Attaching package: 'IRanges'
>
> The following object(s) are masked from 'package:base':
>
>     cbind, Map, mapply, order, pmax, pmax.int, pmin, pmin.int,
>     rbind, rep.int, table
>
> writing regions table: 0.026 sec
> SQL query: SELECT counts,feature FROM counts_tbl INNER JOIN
> __regions__ ON __regions__.chr = counts_tbl.chr AND
> counts_tbl.location BETWEEN __regions__.start AND __regions__.end AND
> (counts_tbl.strand = __regions__.strand OR __regions__.strand = 0 OR
> counts_tbl.strand = 0)
>
> fetching merge table: 0.027 sec
> splitting by: feature: 0.002 sec
> matplot: doing 1 plots with  col= ("1") pch= ("1" "2" "3" "4" "5" "6"
> "7" "8" "9" "0" "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
> "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" "A" "B" "C" "D"
> "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U"
> "V" "W" "X" "Y" "Z") ...
>
> writing regions table: 0.025 sec
> SQL query: SELECT __regions__.id, TOTAL(counts) FROM __regions__ LEFT
> OUTER JOIN counts_tbl ON __regions__.chr = counts_tbl.chr AND
> counts_tbl.location BETWEEN __regions__.start AND __regions__.end AND
> (counts_tbl.strand = __regions__.strand OR __regions__.strand = 0 OR
> counts_tbl.strand = 0) GROUP BY __regions__.id ORDER BY __regions__.id
>
> fetching summary table: 0.044 sec
> fetching summary: 0.016 sec
> matplot: doing 1 plots with  col= ("1") pch= ("1" "2" "3" "4" "5" "6"
> "7" "8" "9" "0" "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
> "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" "A" "B" "C" "D"
> "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U"
> "V" "W" "X" "Y" "Z") ...
>
> writing regions table: 0.026 sec
> SQL query: SELECT __regions__.id, TOTAL(counts_1), TOTAL(counts_2)
> FROM __regions__ LEFT OUTER JOIN allcounts ON __regions__.chr =
> allcounts.chr AND allcounts.location BETWEEN __regions__.start AND
> __regions__.end AND (allcounts.strand = __regions__.strand OR
> __regions__.strand = 0 OR allcounts.strand = 0) GROUP BY
> __regions__.id ORDER BY __regions__.id
>
> fetching summary table: 0.048 sec
> Loading required package: GenomeGraphs
> Loading required package: biomaRt
> Loading required package: grid
> Loading required package: ShortRead
> Loading required package: Biostrings
> Loading required package: BSgenome
> Loading required package: lattice
> Loading required package: yeastRNASeq
> Error: no function to return from, jumping to top level
> Execution halted
>
>
> Thanks again,
> Kasper
>
> 2010/2/26 Prof Brian Ripley<ripley at stats.ox.ac.uk>:
>> On Wed, 24 Feb 2010, Kasper Daniel Hansen wrote:
>>
>>> Based on some testing it seems to me that if I have a package with
>>>   a dataset in /data
>>>   a Sweave vignette in inst/doc (but no associated pdf file)
>>>   the vignette loads the data in /data through
>>>     data(dataset)
>>> and I do a
>>>   R CMD build
>>> R will try to build the pdf version of the vignette, but will be
>>> unable to find the dataset in data because the package is not yet
>>> installed.  However, if I do
>>
>> But R CMD build *does* install the package to build vignettes.  If I take
>> the current BioC-2.6 version of Genominator (1.1.3), remove the
>> inst/doc/*.pdf and any installed versions I see
>>
>> gannet% Rdev CMD build Genominator
>> * checking for file 'Genominator/DESCRIPTION' ... OK
>> * preparing 'Genominator':
>> * checking DESCRIPTION meta-information ... OK
>> * installing the package to re-build vignettes
>> * installing *source* package ?Genominator? ...
>> ** R
>> ** data
>> ** inst
>> ** preparing package for lazy loading
>> Loading required package: DBI
>> Creating a new generic function for "head" in "Genominator"
>> ** help
>> *** installing help indices
>> ** building package indices ...
>> * DONE (Genominator)
>> * creating vignettes ... OK
>> * removing junk files
>> * checking for LF line-endings in source and make files
>> * checking for empty or unneeded directories
>> * building 'Genominator_1.1.3.tar.gz'
>>
>> (Well, once I had installed the 307Mb dependency yeastRNASeq.)
>>
>> Now, you may be using an unreleased version of Genominator, but your
>> hypothesis (that the package needs to be installed beforehand) is not
>> correct.
>>
>>>   R CMD build --no-vignettes PKGNAME
>>>   R CMD check PKGNAME_VERSION.tar.gz
>>> the package passes R CMD check! Presumably because R CMD check
>>> installs the package first.
>>
>> Yes, to a temporary library, just as R CMD build does if there are
>> vignettes.
>>
>>> This took me a long time to track down (inspired by a recent addition
>>> of dataset to the Bioconductor package Genominator and a subsequent
>>> failed build - specifically the dataset yeastAnno.sources and the
>>> vignette withShortRead.Rnw).  I am using lazy loading (in case it
>>> matters, which I don't think it does).
>>>
>>> It seems like the relevant fix is to include pdf versions of the
>>> vignette(s) in inst/doc.
>>>
>>> On one hand I can see why the build fails.
>>
>> So given the evidence that R CMD build does install the package, please
>> explain.
>>
>>> And the fix is easy.  But
>>> just thought I would mention it.
>>>
>>> Kasper
>>>
>>> ______________________________________________
>>> R-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>
>>
>> --
>> Brian D. Ripley,                  ripley at 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, UK                Fax:  +44 1865 272595
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] build, data and vignettes
Uwe Ligges