Reputation: 3038
I have had difficulties installing RBGL (Bioconductor Boost library) after upgrading. The error is encountered when R CMD build
tries to build the (source) package. Running ./configure
from the package root works fine; unfortunately, R CMD build
cleans the package before running configure
again.
Exact error is:
checking R package BH ... no
configure: error: R package BH not found.
ERROR: configuration failed for package ‘RBGL’
Running ./configure
manually I get:
checking R package BH ... yes
configure: creating ./config.status
config.status: creating src/Makevars
In particular, the error arises from this line: AX_R_PACKAGE([BH],,[${R}])
. Notably, if I remove this line from the configure script, the package builds and installs just fine.
fwiw:
> sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.3 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=en_GB.UTF-8 LC_NUMERIC=C LC_TIME=en_GB.UTF-8
[4] LC_COLLATE=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] BH_1.69.0-1
loaded via a namespace (and not attached):
[1] BiocManager_1.30.4 compiler_3.6.1 tools_3.6.1 parallel_3.6.1
Upvotes: 0
Views: 425
Reputation: 368221
Few quick things:
You need to show us the error
I am one of the BH authors and its maintainers, and I develop on Ubuntu; please trust me when I say it works.
When I try right now (using R 3.6.1 like you) I get an error from BioCManager as shown below.
You could try BioConductor devel for RBGL as per this page
R> BiocManager::install("RBGL")
Error: Bioconductor version '3.8' requires R version '3.5'; \
see https://bioconductor.org/install
R>
Edit: Looking further into this all it took was two manual wget
downloads from the package pages and an installation:
edd@rob:~$ cd /tmp
edd@rob:/tmp$ wget -q https://bioconductor.org/packages/release/bioc/src/contrib/RBGL_1.60.0.tar.gz
edd@rob:/tmp$ wget -q https://bioconductor.org/packages/release/bioc/src/contrib/graph_1.62.0.tar.gz
edd@rob:/tmp$ install.r graph_1.62.0.tar.gz RBGL_1.60.0.tar.gz # helper from littler
* installing *source* package ‘graph’ ...
** using staged installation
** libs
ccache gcc -I"/usr/share/R/include" -DNDEBUG -fpic -g -O3 -Wall -pipe -pedantic -std=gnu99 -c graph.c -o graph.o
ccache gcc -Wl,-S -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o graph.so graph.o -L/usr/lib/R/lib -lR
mv graph.so BioC_graph.so
installing to /usr/local/lib/R/site-library/00LOCK-graph/00new/graph/libs
** R
[... few lines removd ***]
** testing if installed package keeps a record of temporary installation path
* DONE (graph)
* installing *source* package ‘RBGL’ ...
** using staged installation
checking R package BH ... yes
configure: creating ./config.status
config.status: creating src/Makevars
** libs
ccache g++ -I"/usr/share/R/include" -DNDEBUG -I/usr/local/lib/R/site-library/BH/include -I"/usr/local/lib/R/site-library/BH/include" -fpic -g -O3 -Wall -pipe -pedantic -c bbc.cpp -o bbc.o
[... lots of output omitted ...]
** testing if installed package keeps a record of temporary installation path
* DONE (RBGL)
edd@rob:/tmp$
Edit 2: As you mention the issue with configure
, I re-ran this by hand after unpacking the tarball. And, unsurprisingly given that the build worked for me, it finds it.
edd@rob:/tmp/RBGL$ ./configure
checking R package BH ... yes
configure: creating ./config.status
config.status: creating src/Makevars
edd@rob:/tmp/RBGL$
Where is your BH package installed, and why might your session find it but configire does not? Did you run one as root and one as you?
Upvotes: 4