6

我在使用 bioconductor 安装 biomaRt 时遇到问题。我已经在带有 R 3.6 的 Rstudio 中安装了这个包而没有错误,但是在 conda 特定环境容器中使用 R 4.0,我在使用 RSQLite 时遇到了错误。

这里有这个消息:

x86_64-conda-linux-gnu-c++ -std=gnu++11 -I"/home/legrand-lab/anaconda3/envs/r4-base/lib/R/include" -DNDEBUG -I. -Ivendor -DRSQLITE_USE_BUNDLED_SQLITE -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_STAT4 -DSQLITE_SOUNDEX -DRCPP_DEFAULT_INCLUDE_CALL=false -DRCPP_USING_UTF8_ERROR_STRING -DBOOST_NO_AUTO_PTR -DSQLITE_MAX_LENGTH=2147483647 -DHAVE_USLEEP=1 -I'/home/legrand-lab/anaconda3/envs/r4-base/lib/R/library/plogr/include' -I'/home/legrand-lab/anaconda3/envs/r4-base/lib/R/library/Rcpp/include' -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/legrand-lab/anaconda3/envs/r4-base/include -I/home/legrand-lab/anaconda3/envs/r4-base/include -Wl,-rpath-link,/home/legrand-lab/anaconda3/envs/r4-base/lib  -fvisibility=hidden -fpic  -fvisibility-inlines-hidden  -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/legrand-lab/anaconda3/envs/r4-base/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/r-base-split_1616773775410/work=/usr/local/src/conda/r-base-4.0.3 -fdebug-prefix-map=/home/legrand-lab/anaconda3/envs/r4-base=/usr/local/src/conda-prefix  -c SqliteColumnDataSource.cpp -o SqliteColumnDataSource.o
In file included from vendor/boost/math/special_functions/sign.hpp:16,
                 from vendor/boost/lexical_cast/detail/inf_nan.hpp:34,
                 from vendor/boost/lexical_cast/detail/converter_lexical_streams.hpp:63,
                 from vendor/boost/lexical_cast/detail/converter_lexical.hpp:54,
                 from vendor/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from vendor/boost/lexical_cast.hpp:32,
                 from vendor/boost/date_time/format_date_parser.hpp:14,
                 from vendor/boost/date_time/date_generator_parser.hpp:20,
                 from vendor/boost/date_time/date_facet.hpp:25,
                 from vendor/boost/date_time/gregorian/gregorian_io.hpp:16,
                 from vendor/boost/date_time/gregorian/gregorian.hpp:31,
                 from SqliteColumnDataSource.cpp:6:
vendor/boost/math/tools/config.hpp:408:13: fatal error: boost/detail/fenv.hpp: No such file or directory
  408 |    #include <boost/detail/fenv.hpp>
      |             ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [/home/legrand-lab/anaconda3/envs/r4-base/lib/R/etc/Makeconf:181 : SqliteColumnDataSource.o] Erreur 1
ERROR: compilation failed for package ‘RSQLite’
* removing ‘/home/legrand-lab/anaconda3/envs/r4-base/lib/R/library/RSQLite’
ERROR: dependency ‘RSQLite’ is not available for package ‘AnnotationDbi’
* removing ‘/home/legrand-lab/anaconda3/envs/r4-base/lib/R/library/AnnotationDbi’
ERROR: dependency ‘RSQLite’ is not available for package ‘BiocFileCache’
* removing ‘/home/legrand-lab/anaconda3/envs/r4-base/lib/R/library/BiocFileCache’
ERROR: dependencies ‘AnnotationDbi’, ‘BiocFileCache’ are not available for package ‘biomaRt’
* removing ‘/home/legrand-lab/anaconda3/envs/r4-base/lib/R/library/biomaRt’

The downloaded source packages are in
    ‘/tmp/RtmpJRLzOp/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning messages:
1: In install.packages(...) :
  installation of package ‘RSQLite’ had non-zero exit status
2: In install.packages(...) :
  installation of package ‘AnnotationDbi’ had non-zero exit status
3: In install.packages(...) :
  installation of package ‘BiocFileCache’ had non-zero exit status
4: In install.packages(...) :
  installation of package ‘biomaRt’ had non-zero exit status

如果有人有想法或解决方案...

4

3 回答 3

8

日志表明错误来自:致命错误:boost/detail/fenv.hpp: No such file or directory 408 | #include <boost/detail/fenv.hpp>

conda install -c conda-forge boost-cpp

我试过这个,然后在 R 中安装 RSQLite,它可以工作。

install.packages("RSQLite")

于 2021-05-25T07:32:45.137 回答
5

这个问题也会影响 conda 包。临时修复似乎是回滚,即remotes::install_version("RSQLite", version = "2.2.5").

请参阅此处的示例:https ://github.com/kstawiski/OmicSelector/blob/master/.github/workflows/r.yml#L26

于 2021-04-28T12:29:32.130 回答
4
conda install -c conda-forge boost-cpp

为我解决了这个问题。

于 2021-05-21T13:42:08.887 回答