Skip to content

[R-pkg-devel] Package fails to build on CRAN Windows server: rtracklayer version too new

3 messages · Tim Stuart, Henrik Bengtsson

#
Hi all,

I am trying to submit an update to my package
(https://cran.r-project.org/package=Signac) to CRAN, but it is
currently failing to install on the Windows server. I see the
following installation error: "namespace 'rtracklayer' 1.48.0 is being
loaded, but >= 1.51.5 is required."

The current release version for rtracklayer is 1.50.0
(https://www.bioconductor.org/packages/release/bioc/html/rtracklayer.html).
My package does not set a version requirement for rtracklayer, so this
installation error must be caused by having a pre-release version of
one of my bioconductor dependencies installed on the windows server.

Does anyone know how I might be able to solve this issue? I have tried
contacting the CRAN team a few times by reply-all to the CRAN emails,
but have not had any response from them. This seems like an issue that
could only be solved by fixing the installation of packages on the
CRAN Windows server.

Incoming test results:
https://win-builder.r-project.org/incoming_pretest/Signac_1.1.2_20210415_225235/

Thanks,
Tim
3 days later
#
Not that it solves your problem per se, but here's what I think CRAN
only has rtracklayer 1.48.0 installed on WIndows, i.e. why you get
error "namespace 'rtracklayer' 1.48.0 is being loaded, but >= 1.51.5
is required.":

* The current Bioconductor "release" is version 3.12
* As you say, Bioconductor 3.12 provides rtracklayer 1.50.0
(https://www.bioconductor.org/packages/3.12/bioc/html/rtracklayer.html)
* However, if you look at that page, for Windows it only provides
rtracklayer 1.49.5 (this is because rtracklayer never successfully
checked on Bioconductor 3.12)
* Since the minor version component of rtracklayer 1.49.5 is _odd_, it
means it's from a Bioconductor 'devel' branch, i.e. when Bioconductor
3.12 was in devel.
* Thus, the most recent Bioconductor "release" where rtracklayer was
successfully distributed on Windows is Bioconductor 3.11.
* Bioconductor 3.11 provides rtracklayer 1.48.0
(https://www.bioconductor.org/packages/3.11/bioc/html/rtracklayer.html)

Clear as mud?

I suspect you're using Suggest: rtracklayer
(https://github.com/timoast/signac/blob/develop/DESCRIPTION) in your
new version.  If so, that's good.  I also don't think you're doing
anything wrong here.  Instead, I think it's one of your other
Bioconductor dependencies under 'Imports:', or possibly under
'Suggests:', that depend on 'rtracklayer'.  The fact that error says
"namespace 'rtracklayer' 1.48.0 is being loaded, but >= 1.51.5 is
required.", means that one of those Bioconductor dependencies, or
their dependencies, has an explicit 'rtracklayer (>= 1.51.5)' under
either Depends: or Imports:.  My recommendation is that you start
identifying that Bioconductor package, and in what way your 'Signac'
depends on that package.  That will help you decide on what to do
next.

/Henrik

PS. This can happen because Bioconductor allows a package to propagate
to a new "release" branch even if it fails on one of the operating
systems.
On Fri, Apr 16, 2021 at 1:59 PM Tim Stuart <tstuart at nygenome.org> wrote:
3 days later
#
Hi Henrik,

Thanks for your explanation, that does indeed make sense. I will try
to track down the bioc package dependency that's setting the explicit
rtracklayer version dependency and go from there...

The fact that Bioconductor allows packages to be released without
successfully building on Windows does create some interesting
downstream issues for CRAN packages with bioc dependencies, and raises
a larger question for me about whether I should really host this
package on CRAN or if I should try to move it to Bioconductor.

Anyway, thanks again for your help (also I'm a big fan of your future package)

Cheers,
Tim


On Mon, Apr 19, 2021 at 9:47 PM Henrik Bengtsson
<henrik.bengtsson at gmail.com> wrote: