Re: [Rd] CRAN package with dependencies on Bioconductor

From: Kornelius Rohmeyer <>
Date: Sat, 11 Jun 2011 07:09:44 +0200

2011/6/11 Duncan Murdoch <>:
> On 11-06-10 7:04 PM, Kornelius Rohmeyer wrote:
>> Dear all,
>> for a CRAN-package that depends on another Bioconductor-package I find
>> two things annoying and would like to know whether there are some
>> workarounds:
>> 1) Is there some inevitable problem that install.packages does not
>> install uninstalled packages (on which the specified package depends)
>> also from Bioconductor (in the correct version)?
>> 2) In my understanding (please correct me if I'm wrong!) CRAN uses
>> bioconductor packages in another version than biocLite would install.
>> For example:
>> Our package gMCP depends on the package graph that has recently
>> switched to the bioconductor repositories. But even the following
>> commands will fail (i.e. install incompatible versions) for R 2.12
>> under Windows (and most likely MacOS):
>> source("")
>> biocLite("graph")
>> install.packages("gMCP")
>> This results in errors like the following:
>>> BonferroniHolmGraph(2)
>> Error in validObject(.Object) :
>>   invalid class "graphMCP" object: superclass "graphBase" not defined
>> in the environment of the object's class
>> The superclass graphBase is introduced in graph 1.30. In my
>> understanding the problem is that our package gMCP is build on CRAN
>> for R 2.12 with the package graph in version 1.30. Unfortunately
>> biocLite installs for R 2.12.
>> Are there ways to make dependencies on Bioconductor less complicated?
> Users of your package are likely to have issues; make sure you document that
> they need to include the Bioconductor repository as well as CRAN.
> You can specify a version in a dependency (or a version range).  I don't
> know if BioC will make old versions available in binary formats, but they
> will probably make source versions available.
> Duncan Murdoch

Dear Duncan,

the main problem is not addressed by specifying a certain version (or at least I do not see how), since it's not the case that the package requires certain versions. The problem is that the default binary packages of the CRAN package and the Bioconductor package it depends on are incompatible for R 2.12, since CRAN uses a different version of the Bioconductor package for building. (For the source packages of course no problem exists.) Btw. is there a way to find out which versions of the dependent packages were used for building a certain binary package? (I guess in the moment, that CRAN uses always the newest available source packages.)
These kind of incompatibilities are extremely hard to track for the package developer. So if there is not a way to install the correct corresponding compatible binary packages from CRAN and Bioconductor, may I suggest that CRAN uses the same versions of dependent
Bioconductor packages for the build of binary packages as Bioconductor is providing in binary form by default for the respective R versions?

Or am totally on the wrong track?

Thank you very much and best regards, Kornelius. mailing list Received on Sat 11 Jun 2011 - 05:14:59 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 12 Jun 2011 - 01:10:18 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive