Skip to content

[Bioc-devel] Missing link files in Windows (release and devel)

7 messages · Martin Morgan, James W. MacDonald, Stephanie M. Gogarten +1 more

#
Hi,

I have been seen warnings in several of my packages on both release
and devel only in the Windows build machines in relation to missing
link files. Is this something that I can address from my side or a
more widespread issue? If it matters, I use roxygen2 for making my Rd
files.

Best,
Leonardo

Examples:

Rd warning: C:/Users/biocbuild/bbs-3.6-bioc/tmpdir/Rtmpi4zjs1/R.INSTALL2e746d54e04/recount/man/geo_characteristics.Rd:17:
missing file link 'rbind'

Rd warning: C:/Users/biocbuild/bbs-3.7-bioc/tmpdir/Rtmp2NQKYR/R.INSTALL21702e4399f/regionReport/man/derfinderReport.Rd:46:
missing file link 'plotIdeogram'

Rd warning: C:/Users/biocbuild/bbs-3.7-bioc/tmpdir/RtmpQtPk8B/R.INSTALL17382396f82/derfinder/man/analyzeChr.Rd:54:
missing file link 'TxDb.Hsapiens.UCSC.hg19.knownGene'
  Rd warning: C:/Users/biocbuild/bbs-3.7-bioc/tmpdir/RtmpQtPk8B/R.INSTALL17382396f82/derfinder/man/annotateRegions.Rd:49:
missing file link 'countOverlaps'
#
On 01/16/2018 10:37 AM, Leonardo Collado Torres wrote:
taking the first example

 
https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Cross_002dreferences

"There are two other forms of optional argument specified as 
\link[pkg]{foo} and \link[pkg:bar]{foo} to link to the package pkg, to 
files foo.html and bar.html respectively. These are rarely needed,...

You have \link[base]{rbind} so R is looking for rbind.html. The file is 
actually cbind.html so \link[base:cbind]{rbind}. I don't know why the 
error is only on Windows, perhaps because html manuals are only 
generated on Windows?

I guess the 'These are rarely needed,...' part of the manual might be 
informative.

Martin
This email message may contain legally privileged and/or...{{dropped:2}}
#
Thanks Martin! I just finished fixing the links in all my packages
using the \link[base:cbind]{rbind} syntax. One of them did seem a bit
weird to me:

 Rd warning: C:/Users/biocbuild/bbs-3.6-bioc/tmpdir/RtmpqyL54j/R.INSTALL22cc280d642c/derfinder/man/loadCoverage.Rd:15:
missing file link 'BamFile'

As far as I can tell, shouldn't \link[Rsamtools:BamFile]{BamFile} be
the same as \link[Rsamtools]{BamFile} ? On my mac the help page is
called BamFile, but maybe the html file on Windows has a different
name.

Best,
Leo

On Tue, Jan 16, 2018 at 4:58 PM, Martin Morgan
<martin.morgan at roswellpark.org> wrote:
#
On Wed, Jan 17, 2018 at 11:38 AM, Leonardo Collado Torres <lcollado at jhu.edu>
wrote:
On both my Linux  and Windows boxes it's BamFile-class.

Jim

  
    
#
This sentence seems to indicate that the original format 
\link[base]{rbind} should work:

"Because they have been frequently misused, the HTML help system looks 
for topic foo in package pkg if it does not find file foo.html."
On 1/17/18 8:56 AM, James W. MacDonald wrote:
#
Thank you Jim! I changed it to \link[Rsamtools:BamFile-class]{BamFile}.

Best,
Leo
On Wed, Jan 17, 2018 at 11:56 AM, James W. MacDonald <jmacdon at uw.edu> wrote:
#
On 01/17/2018 12:02 PM, Stephanie M. Gogarten wrote:
I looked at the code

https://github.com/wch/r-source/blob/89ec1150299f7be62b839d5d5eb46bd9a63653bd/src/library/tools/R/Rd2HTML.R#L377

and for \link[base]{rbind} it seems (a) like the condition is reversed 
and one would have expected a warning

   "file link 'rbind' in package 'base' does not exist and so has been 
treated as a topic"

The warning "missing file link" would seem to be intended for 
\link[base]{foo}. But (b) it's a warning either way, so one needs to 
correct it. And (c) Leonardo's original code generated a valid link -- 
as the corrected warning would have indicated, 'rbind' was treated as a 
'topic' (i.e., listed as an '\alias{}'), and found in cbind.html.

FWIW I debugged this with

   links <- findHTMLlinks(system.file(package="base"))
   Rd2HTML("recount/man/geo_characteristics.Rd", Links=links)

to generate the HTML with links, and then

   options(warn=2, error=recover)
   links <- findHTMLlinks(system.file(package="base"))
   Rd2HTML("recount/man/geo_characteristics.Rd", Links=links)

to get into the debugger and see what was going wrong.

I'll follow up on part (a).

Martin
This email message may contain legally privileged and/or...{{dropped:2}}