package 'BiocInstaller' is not available (for R version 3.4.4)
1
0
Entering edit mode
Kevin • 0
@71f9cb01
Last seen 5 weeks ago
United States

We have a project running in version 3.4.4 of R. When we build it, we are getting an error that BiocInstaller is not available (see below).

According to https://www.bioconductor.org/install/#Legacy, we should be able to use Bioconstructor packages by running source("https://bioconductor.org/biocLite.R").

This is a project that isn't updated often, but it seems that it was working a few months ago and broke without anything changing on our end. Any ideas on what could be causing this or what we could try differently? We'd like to avoid upgrading our version of R if possible.

Code should be placed in three backticks as shown below


> source("https://bioconductor.org/biocLite.R")
Warning: unable to access index for repository https://bioconductor.org/packages/3.6/bioc/src/contrib:
Line starting '<!DOCTYPE HTML PUBLI ...' is malformed!
'biocLite.R' failed to install 'BiocInstaller', use
'install.packages("BiocInstaller",
repos="https://bioconductor.org/packages/3.6/bioc")' or
'install.packages("BiocInstaller",
repos="http://bioconductor.org/packages/3.6/bioc")'
Warning message:
package ‘BiocInstaller’ is not available (for R version 3.4.4)

> sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.6 LTS

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so

locale:
[1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8
[4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8
[10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.4.4 tools_3.4.4

BiocInstaller • 196 views
2
Entering edit mode
@james-w-macdonald-5106
Last seen 2 days ago
United States

You got a warning, and right below that it gave you a suggestion. Did you try that?

0
Entering edit mode

Yes, I get the same error:

> install.packages("BiocInstaller",  repos="https://bioconductor.org/packages/3.6/bioc")
Warning: unable to access index for repository https://bioconductor.org/packages/3.6/bioc/src/contrib:
Line starting '<!DOCTYPE HTML PUBLI ...' is malformed!
Warning message:
package ‘BiocInstaller’ is not available (for R version 3.4.4)

1
Entering edit mode

I can get that to work using both the release R-4.2.0 version, as well as an old R-3.5.3. I don't have R-3.4.4 readily available but I imagine it would be the same.

> install.packages("BiocInstaller",  repos="https://bioconductor.org/packages/3.6/bioc")
Installing package into 'C:/Users/jmacdon/AppData/Local/R/win-library/4.2'
(as 'lib' is unspecified)
Warning: unable to access index for repository https://bioconductor.org/packages/3.6/bioc/bin/windows/contrib/4.2:
cannot open URL 'https://bioconductor.org/packages/3.6/bioc/bin/windows/contrib/4.2/PACKAGES'
installing the source package 'BiocInstaller'

trying URL 'https://bioconductor.org/packages/3.6/bioc/src/contrib/BiocInstaller_1.28.0.tar.gz'
Content type 'application/octet-stream' length 18624 bytes (18 KB)

* installing *source* package 'BiocInstaller' ...
** using staged installation
** R
** inst
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
Bioconductor version 3.6 (BiocInstaller 1.28.0), ?biocLite for help
Warning: Bioconductor version 3.6 is too old for R version 4.2.0; see
https://bioconductor.org/install/#troubleshoot-biocinstaller
** testing if installed package can be loaded from final location
Bioconductor version 3.6 (BiocInstaller 1.28.0), ?biocLite for help
Warning: Bioconductor version 3.6 is too old for R version 4.2.0; see
https://bioconductor.org/install/#troubleshoot-biocinstaller
** testing if installed package keeps a record of temporary installation path
* DONE (BiocInstaller)



 > download.file('https://bioconductor.org/packages/3.6/bioc/src/contrib/BiocInstaller_1.28.0.tar.gz', 'BiocInstaller_1.28.0.tar.gz')
trying URL 'https://bioconductor.org/packages/3.6/bioc/src/contrib/BiocInstaller_1.28.0.tar.gz'
Content type 'application/octet-stream' length 18624 bytes (18 KB)
==================================================

!> install.packages("BiocInstaller_1.28.0.tar.gz", repos = NULL)
Installing package into ‘/share/groups/edge/R/R-3.5.3’
(as ‘lib’ is unspecified)
* installing *source* package ‘BiocInstaller’ ...
** R
** inst
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Bioconductor version 3.6 (BiocInstaller 1.28.0), ?biocLite for help
Warning: Bioconductor version 3.6 is too old for R version 3.5.3; see
https://bioconductor.org/install/#troubleshoot-biocinstaller
* DONE (BiocInstaller)


But really you shouldn't be using old versions like that and given that we don't support old stuff I really shouldn't be helping you to do so. Our general assumption is that anybody who wants to do this sort of thing is capable and willing to self-support, and otherwise should follow the recommendation of using the release version, which we do support.

0
Entering edit mode

James,

I really appreciate your quick response. It was very helpful to see that it worked on your end. It helped us narrow down the problem and we were able to fix it with a change to our build.

You're right about the risk of using old versions. There's politics involved in upgrading the version of R and I'm not sure we're able to do it yet.

Thank you!

1
Entering edit mode

I assume the politics have to do with the site-wide version of R? In over 20 years of using R, I have very rarely relied on an installation of R that wasn't under my control, and I have never had root or sudo privileges on any of the Linux boxes I use at work. IMO there is very little upside to sharing an R installation, and certainly no upside to bugging the sysadmin every six months for an upgrade. The three main ways I would circumvent using the site-wide install are:

1. Install in a directory over which you have read/write privileges. This is IMO the best option. If you have the space, your home dir is good, but one usually has multiple places on a Linux box that it could go. This precludes having a separate library dir for the recommended packages which can be nice as well. All you have to do is download the R tarball, untar, configure, and make. Super simple. You don't have to install anywhere, but instead can just add the bin directory to your PATH. Or you could use 'make install' if you already configured with a prefix dir that you have read/write privileges in.
2. Use docker or singularity. I actually have a singularity install that I set up for a co-worker who is too young to think Emacs/ESS is the way to go (it is, btw) and would rather use RStudio. Kids these days, I tell ya. But anyway, I have singularity running RStudio server so she can connect using a browser. That doesn't require anything from the sysadmin because it's just a container.
3. Use conda. I use conda for Python installs, and that seems to work OK. I don't know how well it works for R/Bioc, but I see enough traffic on this support site to think it's not totally unpopular. Again, it's a local install so the sysadmin doesn't have to be involved.