Пакет Bowtie от bioconductor/R — ОШИБКА: не удалось выполнить компиляцию пакета «Rbowtie»

Я пытаюсь установить пакет биокондуктора «Rbowtie». Я запускаю R в корневом режиме на Ubuntu 12.4 LTS с последней версией R (3.1.0).

изменить: вот контейнер пакета

Вот что я сделал (это работает для всех других пакетов):

source("http://bioconductor.org/biocLite.R")
biocLite("Rbowtie")

вот полное сообщение об ошибке, которое я получил:

BioC_mirror: http://bioconductor.org
Using Bioconductor version 2.14 (BiocInstaller 1.14.2), R version
3.1.0.
Installing package(s) 'Rbowtie'
essai de l'URL 'http://bioconductor.org/packages/2.14/bioc/src/contrib/Rbowtie_1.4.4.tar.gz'
Content type 'application/x-gzip' length 880659 bytes (860 Kb)
URL ouverte
==================================================
downloaded 860 Kb

* installing *source* package ‘Rbowtie’ ...
** libs
** arch - 
g++ -O3 -m32 -DCOMPILER_OPTIONS="\"-O3 -m32  -Wl,--hash-style=both -DPOPCNT_CAPABILITY -       g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-  security -D_FORTIFY_SOURCE=2 -g   -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -g  \""  -Wl,--hash-style=both -DPOPCNT_CAPABILITY -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -g   -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -g    \
    -fno-strict-aliasing -DBOWTIE_VERSION="\"`cat VERSION`\"" -  DBUILD_HOST="\"`hostname`\"" -DBUILD_TIME="\"`date`\"" -DCOMPILER_VERSION="\"`g++ -v 2>&1 | tail -1`\"" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE  -DPREFETCH_LOCALITY=2 -DBOWTIE_MM -DBOWTIE_SHARED_MEM -DNDEBUG -Wall \
    -I SeqAn-1.1 -I third_party \
    -o bowtie-build ebwt_build.cpp \
    ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp edit.cpp ebwt.cpp tinythread.cpp  bowtie_build_main.cpp \
    -lpthread 
ebwt.h: Assembler messages:
ebwt.h:1909: Error: invalid instruction suffix for `popcnt'
ebwt.h:1909: Error: invalid instruction suffix for `popcnt'
ebwt.h:1909: Error: invalid instruction suffix for `popcnt'
ebwt.h:1909: Error: invalid instruction suffix for `popcnt'
make: *** [bowtie-build] Erreur 1
ERROR: compilation failed for package ‘Rbowtie’
* removing ‘/home/retureau/R/i686-pc-linux-gnu-library/3.1/Rbowtie’

The downloaded source packages are in
‘/tmp/Rtmp1qDuN3/downloaded_packages’
Message d'avis :
In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
installation of package ‘Rbowtie’ had non-zero exit status

Спасибо.


person user3703297    schedule 03.06.2014    source источник
comment
Лучше не устанавливать пакеты как root, а как отдельный пользователь или как пользователь с привилегиями для установки пакетов в доступном для чтения месте. Также лучше обратиться к сопровождающему пакета или включить его (с целевой страницы пакета) в беседе и задавать вопросы о пакетах Bioconductor в списке рассылки Bioconductor (подписка не требуется). Извините, что не помог напрямую.   -  person Martin Morgan    schedule 03.06.2014
comment
Я спросил их со списком рассылки. Нет ответа. Наконец-то я скачиваю исходные файлы и устанавливаю с помощью make. Он работает, но без R, и я понятия не имею, как сделать его внутри R (кроме как самому написать скрипт :/). Если я создам скрипт, должен ли я сделать пакет для R или я могу просто поместить этот файл в каталог lib? Однажды я пытался сделать пакет, это просто ужас ›.‹   -  person user3703297    schedule 04.06.2014
comment
Ваше электронное письмо должно содержать пакет maintainer (я переслал ему электронное письмо). Пакет успешно собирается на компьютере сборки Bioconductor с Ubuntu 12.04, так что в вашей настройке есть что-то особенное, например, g++ --version. Я уверен, что автор пакета ответит, но, конечно же, он должен сначала знать, что есть проблема!   -  person Martin Morgan    schedule 04.06.2014
comment
Хорошо, большое спасибо. Я никогда раньше не пользовался такого рода списком рассылки ^^ поэтому я немного растерялся, но, кажется, я понял. На самом деле я обновил свой g++ до последней версии, но это не сработало. Итак, я скачал пакет и установил бабочку прямо на Ubuntu (я могу запустить его с помощью терминала). Затем я нашел более старую версию Rbowtie здесь: bioconductor.org/packages/2.12/ bioc/html/Rbowtie.html Этот работает (я установил его с помощью install.packages после загрузки pkg), но всегда просит меня обновить (что приводит к той же ошибке).   -  person user3703297    schedule 04.06.2014


Ответы (1)


Я добавляю последнее сообщение из нашего обсуждения в список рассылки Bioconductor с решением здесь, чтобы люди, оказавшиеся на этой странице, узнали об этом.

Я обновил Rbowtie, включив в него исправления, сделанные разработчиками бабочки, что должно позволить его компиляцию на дополнительных платформах.

Обновление до Rbowtie версии 1.4.5 (выпуск) или 1.5.5 (разработка) должно решить проблему.

С наилучшими пожеланиями, Майкл

person user3725250    schedule 10.06.2014