"Packages required but not available." rtracklayer in OSX is not available to CRAN, resulting in errors for downstream dependencies.
1
0
Entering edit mode
@jamesdalgleish-14561
Last seen 16 months ago
United States

So, I'm attempting to update my CRAN package and it depends on several other packages. What I notice is that many packages fail with errors on OSX checks due to Bioconductor packages not being visible when CRAN checks are run. I guess I'm posting first to Bioconductor because I know that the community probably knows the ins and outs of package development when working with Bioconductor packages better than the r package developer list. I haven't yet checked there, but I'm wondering if the community has any insight in how to solve these issues.

For example: https://www.r-project.org/nosvn/R.check/r-release-osx-x86_64/PlasmaMutationDetector-00check.html Displays the following error. checking package dependencies ... ERROR Packages required but not available: 'GenomicRanges', 'VariantAnnotation', 'S4Vectors', 'Rsamtools', 'rtracklayer', 'SummarizedExperiment'

A similar thing happens for other packages: https://cran.r-project.org/web/checks/checkresultsgkmSVM.html http://cran.cnr.berkeley.edu/web/checks/checkresultsXGR.html http://mirror.math.princeton.edu/pub/CRAN-archive/web/checks/2018-03-05checkresults_QNB.html

I don't know if I am personally responsible to keep these working on OSX, but from trying to update my package, I notice these errors crop up on OSX. Is there something I can do personally to fix this?

1
Entering edit mode
@steve-lianoglou-2771
Last seen 4 weeks ago
United States

This is new to me.

I've always been under the assumption that packages that depend/import Bioconductor packages need to be hosted by Bioconductor ("Suggests" is another story).

Not that the vignette for the remotes package is a definitive source, but they even conclude with the following:

When you submit your package to CRAN, all of its dependencies must also be available on CRAN.

However there is also this comment about including a biocViews section in your DESCRIPTOIN file being a trigger for some ghost in the machine to know to query a bioconductor repository (?) ... it's not the first time I've seen that mentioned (the other might have been on the remotes package's issue tracker), but given bioconductor's stricter release policies, I'm not sure I'd rely on that.

If at all possible, why not consider just moving your package off of CRAN onto Bioconductor and rely on their build system to dot the i's and cross these t's.

1
Entering edit mode

CRAN 'knows' about Bioconductor repositories, because R does, via setRepositories(), tools:::.BioC_version_associated_with_R_version() and file.path(R.home("etc"), "repositories") (the values returned by these functions are not always consistent with what Bioconductor would like, which is why BiocManager exists). The above mostly looks like a problem with CRAN's configuration, and only CRAN can help with that.

0
Entering edit mode

Might be an idea for the future. My code is fairly well documented and has good vignettes at this point. It took a LOT of work to get CRAN to take it, though. I imagine the process for getting accepted on Bioconductor is very difficult, like CRAN. Thanks for the insights into the mechanics. That's precisely what I needed.