Установка БиоКондуктора в Linux

Я знаю, что этот вопрос задавался несколько раз, но я не могу найти ответ из ответов здесь, в StackOverflow, или на странице установки BioConductor здесь. Я установил и обновил R до последней версии 3.1.3, которая явно предназначена для работы с BioConductor 3.0 на странице установки.

Затем я установил BioConductor и убедился, что все обновлено, используя следующие команды:

source("http://bioconductor.org/biocLite.R")
biocLite(ask=FALSE)
biocLite("BiocUpgrade")

Все до этого момента работает просто отлично, но затем, когда я перехожу к установке любого из пакетов BioConductor, используя, например:

biocLite(c("flowCore"))

Я получу несколько ошибок, как показано ниже:

1: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
installation of package ‘robustbase’ had non-zero exit status

Я так понимаю, что эта ошибка указывает на несоответствие версии между R и пакетом, и все же похоже, что все из BioConductor должно работать с версией R 3.1.3.

Когда я пытаюсь установить пакеты, перечисленные в ошибках, вручную, используя, например:

install.packages("robustbase", dependencies=TRUE)

И я получу тот же тип ошибки, что и выше, с ненулевым статусом выхода.

Кто-нибудь знает лучший способ обойти это? Я предполагаю, что мне не нужно переходить на предыдущую версию R или что-то в этом роде, но я действительно не уверен, что делать на этом этапе. Спасибо.

Как указано в комментариях ниже, полный вывод установки пакета flowCore с использованием следующего кода приведен ниже:

biocLite(c("flowCore"))

Выход:

    BioC_mirror: http://bioconductor.org
Using Bioconductor version 3.0 (BiocInstaller 1.16.2), R version 3.1.3.
Installing package(s) 'flowCore'
also installing the dependencies ‘robustbase’, ‘mvtnorm’, ‘cluster’, ‘pcaPP’, ‘rrcov’

trying URL 'http://cran.rstudio.com/src/contrib/robustbase_0.92-3.tar.gz'
Content type 'application/x-gzip' length 3144393 bytes (3.0 MB)
opened URL
==================================================
downloaded 3.0 MB

trying URL 'http://cran.rstudio.com/src/contrib/mvtnorm_1.0-2.tar.gz'
Content type 'application/x-gzip' length 155092 bytes (151 KB)
opened URL
==================================================
downloaded 151 KB

trying URL 'http://cran.rstudio.com/src/contrib/cluster_2.0.1.tar.gz'
Content type 'application/x-gzip' length 280102 bytes (273 KB)
opened URL
==================================================
downloaded 273 KB

trying URL 'http://cran.rstudio.com/src/contrib/pcaPP_1.9-60.tar.gz'
Content type 'application/x-gzip' length 191565 bytes (187 KB)
opened URL
==================================================
downloaded 187 KB

trying URL 'http://cran.rstudio.com/src/contrib/rrcov_1.3-8.tar.gz'
Content type 'application/x-gzip' length 992215 bytes (968 KB)
opened URL
==================================================
downloaded 968 KB

trying URL 'http://bioconductor.org/packages/3.0/bioc/src/contrib/flowCore_1.32.2.tar.gz'
Content type 'application/x-gzip' length 8962871 bytes (8.5 MB)
opened URL
==================================================
downloaded 8.5 MB

* installing *source* package ‘robustbase’ ...
** package ‘robustbase’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c R-rng4ftn.c -o R-rng4ftn.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c eigen.f -o eigen.o
/bin/bash: gfortran: command not found
make: *** [eigen.o] Error 127
ERROR: compilation failed for package ‘robustbase’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/robustbase’
* installing *source* package ‘mvtnorm’ ...
** package ‘mvtnorm’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c C_FORTRAN_interface.c -o C_FORTRAN_interface.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c miwa.c -o miwa.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c mvt.f -o mvt.o
/bin/bash: gfortran: command not found
make: *** [mvt.o] Error 127
ERROR: compilation failed for package ‘mvtnorm’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/mvtnorm’
* installing *source* package ‘cluster’ ...
** package ‘cluster’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c clara.c -o clara.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c daisy.f -o daisy.o
/bin/bash: gfortran: command not found
make: *** [daisy.o] Error 127
ERROR: compilation failed for package ‘cluster’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/cluster’
ERROR: dependency ‘mvtnorm’ is not available for package ‘pcaPP’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/pcaPP’
ERROR: dependencies ‘robustbase’, ‘mvtnorm’, ‘cluster’, ‘pcaPP’ are not available for package ‘rrcov’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/rrcov’
ERROR: dependency ‘rrcov’ is not available for package ‘flowCore’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/flowCore’

The downloaded source packages are in
    ‘/tmp/RtmpB8elmi/downloaded_packages’
Warning messages:
1: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘robustbase’ had non-zero exit status
2: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘mvtnorm’ had non-zero exit status
3: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘cluster’ had non-zero exit status
4: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘pcaPP’ had non-zero exit status
5: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘rrcov’ had non-zero exit status
6: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘flowCore’ had non-zero exit status

Итак, я установил gfortran и все еще получаю аналогичные ошибки, хотя, похоже, он немного дальше (похоже, проблема с llapack и lblas, но я не уверен, что это такое, я не нахожу их с помощью поиска apt-cache:

> biocLite(c("flowCore"))
BioC_mirror: http://bioconductor.org
Using Bioconductor version 3.0 (BiocInstaller 1.16.2), R version 3.1.3.
Installing package(s) 'flowCore'
also installing the dependencies ‘robustbase’, ‘mvtnorm’, ‘cluster’, ‘pcaPP’, ‘rrcov’

trying URL 'http://cran.rstudio.com/src/contrib/robustbase_0.92-3.tar.gz'
Content type 'application/x-gzip' length 3144393 bytes (3.0 MB)
opened URL
==================================================
downloaded 3.0 MB

trying URL 'http://cran.rstudio.com/src/contrib/mvtnorm_1.0-2.tar.gz'
Content type 'application/x-gzip' length 155092 bytes (151 KB)
opened URL
==================================================
downloaded 151 KB

trying URL 'http://cran.rstudio.com/src/contrib/cluster_2.0.1.tar.gz'
Content type 'application/x-gzip' length 280102 bytes (273 KB)
opened URL
==================================================
downloaded 273 KB

trying URL 'http://cran.rstudio.com/src/contrib/pcaPP_1.9-60.tar.gz'
Content type 'application/x-gzip' length 191565 bytes (187 KB)
opened URL
==================================================
downloaded 187 KB

trying URL 'http://cran.rstudio.com/src/contrib/rrcov_1.3-8.tar.gz'
Content type 'application/x-gzip' length 992215 bytes (968 KB)
opened URL
==================================================
downloaded 968 KB

trying URL 'http://bioconductor.org/packages/3.0/bioc/src/contrib/flowCore_1.32.2.tar.gz'
Content type 'application/x-gzip' length 8962871 bytes (8.5 MB)
opened URL
==================================================
downloaded 8.5 MB

* installing *source* package ‘robustbase’ ...
** package ‘robustbase’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c R-rng4ftn.c -o R-rng4ftn.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c eigen.f -o eigen.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c init.c -o init.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c lmrob.c -o lmrob.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c mc.c -o mc.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c monitor.c -o monitor.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c qn_sn.c -o qn_sn.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c rf-common.f -o rf-common.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c rffastmcd.f -o rffastmcd.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c rfltsreg.f -o rfltsreg.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c rllarsbi.f -o rllarsbi.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c rob-utils.c -o rob-utils.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c rowMedians.c -o rowMedians.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c wgt_himed.c -o wgt_himed.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o robustbase.so R-rng4ftn.o eigen.o init.o lmrob.o mc.o monitor.o qn_sn.o rf-common.o rffastmcd.o rfltsreg.o rllarsbi.o rob-utils.o rowMedians.o wgt_himed.o -llapack -lblas -lgfortran -lm -lquadmath -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR
/usr/bin/ld: cannot find -llapack
/usr/bin/ld: cannot find -lblas
collect2: error: ld returned 1 exit status
make: *** [robustbase.so] Error 1
ERROR: compilation failed for package ‘robustbase’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/robustbase’
* installing *source* package ‘mvtnorm’ ...
** package ‘mvtnorm’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c C_FORTRAN_interface.c -o C_FORTRAN_interface.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c miwa.c -o miwa.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c mvt.f -o mvt.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c mvtnorm-init.c -o mvtnorm-init.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c tvpack.f -o tvpack.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o mvtnorm.so C_FORTRAN_interface.o miwa.o mvt.o mvtnorm-init.o tvpack.o -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR
installing to /home/alex/R/x86_64-pc-linux-gnu-library/3.1/mvtnorm/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (mvtnorm)
* installing *source* package ‘cluster’ ...
** package ‘cluster’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c clara.c -o clara.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c daisy.f -o daisy.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c dysta.f -o dysta.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c fanny.c -o fanny.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c init.c -o init.o
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c mona.f -o mona.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c pam.c -o pam.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c sildist.c -o sildist.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c spannel.c -o spannel.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c twins.c -o twins.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o cluster.so clara.o daisy.o dysta.o fanny.o init.o mona.o pam.o sildist.o spannel.o twins.o -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR
installing to /home/alex/R/x86_64-pc-linux-gnu-library/3.1/cluster/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (cluster)
* installing *source* package ‘pcaPP’ ...
** package ‘pcaPP’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/share/R/include -DNDEBUG -DR_PACKAGE_FILE     -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c L1Median_HoCr.cpp -o L1Median_HoCr.o
/bin/bash: g++: command not found
make: *** [L1Median_HoCr.o] Error 127
ERROR: compilation failed for package ‘pcaPP’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/pcaPP’
ERROR: dependencies ‘robustbase’, ‘pcaPP’ are not available for package ‘rrcov’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/rrcov’
ERROR: dependency ‘rrcov’ is not available for package ‘flowCore’
* removing ‘/home/alex/R/x86_64-pc-linux-gnu-library/3.1/flowCore’

The downloaded source packages are in
    ‘/tmp/RtmpB8elmi/downloaded_packages’
Warning messages:
1: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘robustbase’ had non-zero exit status
2: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘pcaPP’ had non-zero exit status
3: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘rrcov’ had non-zero exit status
4: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘flowCore’ had non-zero exit status

person The Nightman    schedule 02.04.2015    source источник
comment
robustbase не является пакетом Bioc. Вы сначала сделали update.packages(checkBuilt=TRUE) после обновления R.   -  person IRTFM    schedule 02.04.2015
comment
Правда это не пакет Bioc. И да, я также обновил все пакеты.   -  person The Nightman    schedule 02.04.2015
comment
Попробуйте найти зависимости для каждого пакета cran, скачайте файл .tar.gz с исходным кодом и установите его один за другим, используя install.packages(pkg-name, repos = NULL, type = source). Когда вы сделаете это, задокументируйте шаги в сценарии R и сохраните эти исходные коды где-нибудь для будущих целей.   -  person Sathish    schedule 02.04.2015
comment
Вы можете сделать то же самое для пакетов биокондуктора, загрузив исходный код и установив их по отдельности. Вам просто нужно убедиться, что порядок зависимостей соответствует правильному, поэтому ошибка установки не появляется.   -  person Sathish    schedule 02.04.2015
comment
исходный код пакета bioconductor можно получить в каждом веб-репозитории пакета bioconductor.   -  person Sathish    schedule 02.04.2015
comment
некоторые пакеты должны быть скомпилированы с помощью компилятора c. поэтому, если вы работаете с окнами, в RTools есть все необходимое для компиляции пакета для окон.   -  person Sathish    schedule 03.04.2015
comment
Обычно проблема заключается в том, что некоторые базовые системные зависимости не выполняются. Это требует, чтобы вы изолировали вашу установку от ПЕРВОГО пакета, который не удается установить, а затем найдите ПЕРВОЕ сообщение об ошибке, сгенерированное R во время установки. Обновите свой вопрос, указав полный вывод biocLite (робастбаза). Не утруждайте себя загрузкой исходных tar-шаров, как предложил @Sathish, вы уже устанавливаете из исходного кода.   -  person Martin Morgan    schedule 03.04.2015
comment
Надежная база от R, а не от биокондуктора. Вы имеете в виду дать полную ошибку для biocLite (c (flowCore))? Если так, я добавлю это через минуту.   -  person The Nightman    schedule 03.04.2015
comment
Пишет, что нужно установить gfortran.   -  person Dan Tenenbaum    schedule 03.04.2015
comment
Я только что установил gfortran, и установка идет немного дальше, но все еще много ошибок.   -  person The Nightman    schedule 03.04.2015
comment
перед установкой этих пакетов R проверьте, не находится ли gfortran на вашем пути. Например: echo $PATH должно выводить значения для переменной PATH. Если вы не найдете его там, вам нужно экспортировать путь gfortran, отредактировав файл профиля .bashrc или bash. Это предполагает, что ваша оболочка по умолчанию — bash. Обычно открытие нового терминала bash или выход из системы и вход в систему должны позволить редактированию файлов bash вступить в силу, но хорошо перезагрузить систему, чтобы вы работали с новой.   -  person Sathish    schedule 06.04.2015
comment
llapack и lblas — это библиотеки для подпрограмм линейной алгебры lapack и blas. Вы можете поискать в Google lapack и blas, чтобы узнать больше. По сути, эти подпрограммы помогают вашей программе R работать быстрее, и они оптимизированы для обработки структур данных линейной алгебры.   -  person Sathish    schedule 06.04.2015
comment
Попробуйте этот ответ, чтобы установить подпрограммы lapack и blas. Я предполагаю, что вы используете дистрибутив на основе Debian, например: Ubuntu. stackoverflow.com/questions/8961340 /   -  person Sathish    schedule 06.04.2015


Ответы (1)


Согласно форумам Ubuntu (вы не говорите, какой вариант Linux вы используете, но поскольку вы упомянули apt-cache, я предполагаю, что это актуально, хотя ответу несколько лет) необходимые пакеты для установки LAPACK и BLAS

libblas3gf
libblas-doc
libblas-dev

liblapack3gf
liblapack-doc
liblapack-dev

Однако у меня сложилось впечатление, что R поставляется со своей собственной версией этих библиотек, так что это может быть просто вопрос правильной настройки вашего LD_LIBRARY_PATH.

Также обратите внимание, что вам также не хватает g++.

person Peter Humburg    schedule 04.07.2015