【问题标题】:R package BH not found for Bioconductor package RBGL未找到用于 Bioconductor 包 RBGL 的 R 包 BH
【发布时间】:2019-08-16 11:09:43
【问题描述】:

升级后我在安装 RBGL(Bioconductor Boost 库)时遇到了困难。当R CMD build 尝试构建(源)包时遇到错误。从包根目录运行./configure 工作正常;不幸的是,R CMD build 在再次运行configure 之前清理了包。

确切的错误是:

checking R package BH ... no
configure: error: R package BH not found.
ERROR: configuration failed for package ‘RBGL’

手动运行./configure 我得到:

checking R package BH ... yes
configure: creating ./config.status
config.status: creating src/Makevars

特别是,错误来自这一行:AX_R_PACKAGE([BH],,[${R}])。值得注意的是,如果我从配置脚本中删除这一行,包的构建和安装就很好了。

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    

【问题讨论】:

    标签: r boost bioconductor


    【解决方案1】:

    几件快速的事情:

    • 您需要向我们展示错误

    • 我是 BH 的作者和维护者之一,我在 Ubuntu 上开发;当我说它有效时,请相信我。

    • 当我现在尝试时(像你一样使用 R 3.6.1)我收到一个错误来自 BioCManager,如下所示。

    • 您可以按照this page 尝试为 RBGL 开发 BioConductor

    错误信息
    R> BiocManager::install("RBGL")
    Error: Bioconductor version '3.8' requires R version '3.5'; \
                                        see https://bioconductor.org/install
    R> 
    

    编辑: 进一步研究,只需要从软件包页面手动下载两个 wget 并进行安装:

    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$ 
    

    编辑 2: 正如您提到 configure 的问题,我在解压 tarball 后手动重新运行了这个。而且,不出所料,该构建对我有用,它找到了它。

    edd@rob:/tmp/RBGL$ ./configure
    checking R package BH ... yes
    configure: creating ./config.status
    config.status: creating src/Makevars
    edd@rob:/tmp/RBGL$
    

    你的 BH 包安装在哪里,为什么你的会话可以找到它而 configire 却没有?您是否以 root 身份运行了一个,而以您的身份运行了一个?

    【讨论】:

    • 几件快速的事情:我做了“配置:错误:未找到 R 包 BH。错误:包‘RBGL’的配置失败”。我从来没有说过 BH 不起作用,我完全不知道你从哪里得到的。我正在运行 Bioc 3.9/R-3.6(您的错误与此无关)。最后,正如我所说,我尝试从源目录本地运行安装,但它失败了。
    • 虽然取消投票/否决票有点粗鲁(无论是你还是旁观者)。我在几个帖子中详细回答了您的信息。
    • 最后一个猜测:如果您在使用时缺少 BH,则 RBGL 的 configure.ac 脚本中的代码。也许它滥用了.libPaths(),尽管我对此表示怀疑。
    • 我查看了 RBGL 资源。他们做错了。简单地拥有LinkingTo: BH 意味着R 会给他们包含目录。没有真正需要与 m4 宏和 autoconf 一起跳舞。那好吧。然后再一次——在我的盒子上工作(我从不安装任何东西到 ~/R/.... 但总是安装到/usr/local/lib/R/site-library
    • FWIW 向support.bioconductor.org 报告 Bioconductor 问题; “核心”包在 github github.com/Bioconductor/RBGL 上;规范的位置是我们内部的 git git.bioconductor.org/packages/RBGL 。 Dirk 对 BiocManager 的问题是因为安装的包 BiocVersion 与他的 R 版本不一致,例如,因为他在新的 R 中重新使用了以前的库?感谢配置似乎没有必要,并且从 RBGL >= 1.62.1 中消失了;您将需要 Bioconductor 3.10(BiocManager::install(version="3.10") 和 RBGL >= 1.62.1(这将在今天晚些时候传播)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 2020-09-08
    • 2016-01-18
    • 1970-01-01
    • 2017-10-24
    • 2023-03-16
    • 2013-11-04
    相关资源
    最近更新 更多