Невозможно скомпилировать xps после установки ROOT, отсутствуют библиотеки

0

Я пытаюсь установить xps в R и установил ROOT из CERN.

во время компиляции я получаю:

TMLMath.cxx:51:19: fatal error: TMath.h: No such file or directory

 #include "TMath.h"
                   ^
compilation terminated.
make: *** [TMLMath.o] Error 1
ERROR: compilation failed for package ‘xps

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

Моя информация о ROOT:

Version   5.34/14  16 December 2013
ROOT 5.34/14 (heads/v5-34-00-patches@v5-34-13-131-gd110ad3, Jan 07 2014, 00:12:00 on linuxx8664gcc)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
whereis root
root: /usr/bin/root /usr/bin/root.exe /etc/root /usr/bin/X11/root /usr/bin/X11/root.exe /usr/include/root /usr/share/root /usr/share/man/man1/root.1.gz

Я попытался make uninstall удаленную версию root версии, и, возможно, с беспокойством ничего не сделал (я удалил папку, из которой я изначально make d)

Я предполагаю, что, возможно, версия ROOT у меня отсутствует, потому что xps полагается на более старую версию ROOT? В руководстве показывается очень недавняя дата, поэтому не нравится это пренебрежение программным обеспечением (если я правильно понимаю)...

ROOT установлен отлично, и все необходимые условия, которые я смог найти, были установлены:

sudo apt-get install build-essential dpkg-dev make g++ gcc binutils libx11-dev libxpm-dev libxft-dev libxext-dev gfortran libssl-dev libpcre3-dev libglu1-mesa-dev libglew-dev libftgl-dev libmysqlclient-dev libfftw3-dev libcfitsio3-dev graphviz-dev libavahi-compat-libdnssd-dev libldap2-dev python-dev libxml2-dev libkrb5-dev libgsl0-dev libqt4-dev xfs xfstt t1-xfree86-nonfree ttf-xfree86-nonfree ttf-xfree86-nonfree-syriac xfonts-75dpi xfonts-100dpi

Любая помощь будет оценена, пожалуйста, сообщите мне, если я должен предоставить более подробную информацию о моей системе.

Полный выход от установки Bioconductor:

> biocLite('xps')
BioC_mirror: http://bioconductor.org
Using Bioconductor version 3.0 (BiocInstaller 1.16.1), R version 3.1.2.
Installing package(s) 'xps'
trying URL 'http://bioconductor.org/packages/3.0/bioc/src/contrib/xps_1.26.0.tar.gz'
Content type 'application/x-gzip' length 6669399 bytes (6.4 Mb)
opened URL
==================================================
downloaded 6.4 Mb

* installing *source* package ‘xps ...
checking for gcc... gcc -std=gnu99
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for gcc... (cached) gcc -std=gnu99
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc -std=gnu99 accepts -g... (cached) yes
checking for gcc -std=gnu99 option to accept ANSI C... (cached) none needed
found ROOT version 5.34/14 in directory /usr
** libs
** arch - 
g++ -I/usr//include -O2 -Wall -fPIC -pthread -m64 -I/usr/include/root -c TMLMath.cxx
TMLMath.cxx:51:19: fatal error: TMath.h: No such file or directory
 #include "TMath.h"
                   ^
compilation terminated.
make: *** [TMLMath.o] Error 1
ERROR: compilation failed for package ‘xps
* removing ‘/home/louis/R/x86_64-pc-linux-gnu-library/3.1/xps

The downloaded source packages are in
    ‘/tmp/RtmpZVOlbW/downloaded_packages
Warning message:
In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘xps had non-zero exit status

Изменить: я следовал за изменениями ROOTSYS перед запуском R:

export ROOTSYS=/usr/
export "PATH=$ROOTSYS/bin:$PATH"

Я изначально использовал ROOTSYS=/usr/include/root, где я нашел программу с whereis root. Однако это дает другую ошибку - /usr/bin/root/include not a directory. Следовательно, используя ROOTSYS=/usr...

> source("http://bioconductor.org/biocLite.R")
Bioconductor version 3.0 (BiocInstaller 1.16.1), ?biocLite for help
> biocLite('xps')
BioC_mirror: http://bioconductor.org
Using Bioconductor version 3.0 (BiocInstaller 1.16.1), R version 3.1.2.
Installing package(s) 'xps'
trying URL 'http://bioconductor.org/packages/3.0/bioc/src/contrib/xps_1.26.0.tar.gz'
Content type 'application/x-gzip' length 6669399 bytes (6.4 Mb)
opened URL
==================================================
downloaded 6.4 Mb

* installing *source* package ‘xps ...
checking for gcc... gcc -std=gnu99
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for gcc... (cached) gcc -std=gnu99
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc -std=gnu99 accepts -g... (cached) yes
checking for gcc -std=gnu99 option to accept ANSI C... (cached) none needed
found ROOT version 5.34/14 in directory /usr
** libs
** arch - 
g++ -I/usr/bin/root/include -O2 -Wall -fPIC -pthread -m64 -I/usr/include/root -c TMLMath.cxx
cc1plus: error: /usr/bin/root/include: Not a directory
make: *** [TMLMath.o] Error 1
ERROR: compilation failed for package ‘xps
* removing ‘/home/louis/R/x86_64-pc-linux-gnu-library/3.1/xps

The downloaded source packages are in
    ‘/tmp/Rtmpc9EO9W/downloaded_packages
Warning messages:
1: In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
  installation of package ‘xps had non-zero exit status
2: installed directory not writable, cannot update packages 'maptools'
  • 0
    ROOTSYS ли вы этим инструкциям , в частности, переменной оболочки ROOTSYS ?
  • 0
    Ах, да, они не работали странно, пожалуйста, посмотрите, что я только что сделал редактирование - в этом случае он вообще не находит каталог, поэтому я просто установил ROOTSYS в /usr/ ... Я не думаю, что Я установил их перед установкой самого ROOT (который, кажется, работает)
Показать ещё 3 комментария
Теги:
gcc
g++
bioconductor

1 ответ

0

Как было отмечено в комментариях выше, ROOT не был установлен правильно - я только что связался с кем - то с той же проблемой, думая, что это было нераскрытым (я оставил заметки на решение здесь, а не по этому вопросу). Я знаю, что политика SO заключается в том, чтобы включить исправление, а не ссылку, поэтому я вставляю его ниже следующего разделителя разделов. Полагаю, что совет, который следует использовать v5.34.24, а не производство, должен по-прежнему применяться (возможно, он будет указан где-то, или кто-то может связаться с сопровождающим снова). [Я вынул раздел об исправлении вручную, который не работал]


Предпосылки

(Блог Via Elena Graverini)

Предпосылки:

sudo apt-get install build-essential git subversion dpkg-dev make g++ gcc binutils libx11-dev libxpm-dev libxft-dev libxext-dev

Дополнительные (рекомендуемые) предпосылки:

sudo apt-get install gfortran libssl-dev libpcre3-dev libglu1-mesa-dev libglew-dev libftgl-dev libmysqlclient-dev libfftw3-dev libcfitsio3-dev graphviz-dev libavahi-compat-libdnssd-dev libldap2-dev python-dev libxml2-dev libkrb5-dev libgsl0-dev libqt4-dev

Установите шрифт-сервер и шрифты для ROOT:

sudo apt-get install xfs xfstt
sudo apt-get install t1-xfree86-nonfree ttf-xfree86-nonfree ttf-xfree86-nonfree-syriac xfonts-75dpi xfonts-100dpi

Монтаж

  • Найдите номер версии pro (production) на сайте root.cern.ch
    • Разработчик xps рекомендует 5.34.24 на 4 февраля 2015 г.
  • Получить source.tar.gz файл на ftp://root.cern.ch/root/root_v5.34.24.source.tar.gz
  • Не устанавливайте в каталоге /usr/ (совет разработчиков xps по электронной почте), поскольку многие доступные руководства предлагают
gzip -dc root_v5.34.24.source.tar.gz | tar -xf -
mv root ~
cd ~/root
./configure --all
make -j N

где N - количество ядер процессора на вашем компьютере (cat/proc/cpuinfo | grep 'cpu cores')

  • Для запуска Ubuntu 14.04: sudo mkdir/usr/include/freetype && sudo cp/usr/include/freetype2/freetype.h/usr/include/freetype/freetype.h
    • Если вы деинсталлируете, не забудьте также снять это

Удаление версии ROOT Ubuntu разрешает ошибки ld в make

sudo apt-get purge root-system root-system-bin root-system-common export ROOTSYS=/home/louis/root

Rerunning сделать с конфигурацией как ./configure --prefix=/home/louis/ works

  • Я думаю, что флаг префикса эквивалентен настройке переменной ROOTSYS перед make (я использовал несколько руководств и забыл установить его, но он работал независимо)
  • Установка CERN ROOT из исходной страницы отмечает, что make install является " NOOP "... но он не установлен, если вы не запустили это после make, так что сделайте это в любом случае

Последний шаг - добавить $ ROOTSYS/bin в PATH - добавить source ~/bin/thisroot.sh к вашему ~/.bashrc (если ваш.bashrc уже получен в новых терминалах)

  • Для меня ROOTSYS теперь установлен в оболочках. Xps README предлагает вам установить его, но PATH нет, поэтому я добавил следующее к моему.bashrc:
export PATH=$ROOTSYS/bin:$PATH
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH

ROOT теперь должен быть работоспособным и способен компилировать xps...

  • По какой-то причине LD_LIBRARY_PATH не устанавливается, но PATH делает...? .bashrc в противном случае все работает как ожидалось
cd $ROOTSYS/tutorials'
root
root [0] .x demos.C

Если ошибок не обнаружено, ROOT работает.

Установка xps

Я ожидал бы, что biocLite ("xps") потерпит неудачу, поскольку двоичный файл был создан с помощью ROOT v.5.34.05... но v5.34.24 был рекомендован разработчиком, так что попытайтесь его в любом случае:

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

и это работает :-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню