【发布时间】:2015-04-03 20:03:30
【问题描述】:
我正在尝试在 R 中安装 xps,并已从 CERN 安装了ROOT。
在编译期间我得到:
TMLMath.cxx:51:19: 致命错误: TMath.h: 没有这样的文件或目录
#include "TMath.h"
^
编译终止。
make: *** [TMLMath.o] 错误 1
错误:包“xps”的编译失败
我尝试手动添加这个文件,然后需要另一个,然后另一个,...直到错误不仅仅是缺少文件,而是重新定义了东西(请参阅notes here),然后再次编译失败。
我的 ROOT 详细信息是:
版本 5.34/14 2013 年 12 月 16 日 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++ 解释器版本 5.18.00,2010 年 7 月 2 日 根在哪里 根目录:/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我尝试在新下载的root 版本上make uninstall,但令人担忧的是它什么也没做(我删除了我最初make'd 的文件夹)
我猜我所拥有的 ROOT 版本可能缺少其中一些,因为 xps 依赖于旧版本的 ROOT?然而,手册显示了一个最近的日期,所以它不像是被忽视的软件(如果我理解正确的话)......
ROOT 安装正常,all prerequisites I could find 已安装:
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
使用 Bioconductor 3.0 版(BiocInstaller 1.16.1),R 3.1.2 版。
安装包'xps'
尝试 URL 'http://bioconductor.org/packages/3.0/bioc/src/contrib/xps_1.26.0.tar.gz'
内容类型 'application/x-gzip' 长度 6669399 字节 (6.4 Mb)
打开网址
====================================================
下载 6.4 Mb
* 安装 *source* 包 ‘xps’ ...
检查 gcc... gcc -std=gnu99
检查 C 编译器默认输出文件名... a.out
检查 C 编译器是否工作......是的
检查我们是否在交叉编译...否
检查可执行文件的后缀...
检查目标文件的后缀... o
检查我们是否正在使用 GNU C 编译器...是的
检查 gcc -std=gnu99 是否接受 -g... 是
检查 gcc -std=gnu99 选项以接受 ANSI C...不需要
检查如何运行 C 预处理器... gcc -std=gnu99 -E
检查 gcc...(缓存) gcc -std=gnu99
检查我们是否正在使用 GNU C 编译器...(缓存)是
检查 gcc -std=gnu99 是否接受 -g...(缓存)是
检查 gcc -std=gnu99 选项以接受 ANSI C...(缓存)不需要
在目录 /usr 中找到 ROOT 版本 5.34/14
** 库
** 拱门 -
g++ -I/usr//include -O2 -Wall -fPIC -pthread -m64 -I/usr/include/root -c TMLMath.cxx
TMLMath.cxx:51:19:致命错误:TMath.h:没有这样的文件或目录
#include "TMath.h"
^
编译终止。
make: *** [TMLMath.o] 错误 1
错误:包“xps”的编译失败
* 删除‘/home/louis/R/x86_64-pc-linux-gnu-library/3.1/xps’
下载的源码包在
'/tmp/RtmpZVOLbW/downloaded_packages'
警告信息:
在 install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
软件包“xps”的安装具有非零退出状态
编辑:我在运行 R 之前关注了 ROOTSYS 变量的变化:
导出 ROOTSYS=/usr/ 导出“PATH=$ROOTSYS/bin:$PATH”我最初使用的是ROOTSYS=/usr/include/root,这是我找到带有whereis root 的程序的地方。然而,这会产生一个不同的错误 - /usr/bin/root/include not a directory。因此使用ROOTSYS=/usr ...
【问题讨论】:
-
你关注these instructions了吗,尤其是shell变量
ROOTSYS? -
啊,嗯,是的,它们的工作并不奇怪,请查看我刚刚所做的编辑 - 在那种情况下它根本找不到目录,因此我只是将
ROOTSYS设置为 @ 987654335@ ...我不认为我在安装 ROOT 本身之前设置了这些(这似乎确实有效) -
错误信息是
/usr/bin/root/include: Not a directory,意思是编译器试图进入这个不存在的目录。例如,locate TMLMath.h或类似命令的输出是什么? -
locate TMLMath.h什么也不返回,locate TMath.h提供我的下载文件夹...~/Downloads/root-6.02.04/include/TMath.h~/Downloads/root-6.02.04/math/mathcore/inc/TMath.h -
ROOT 看起来没有正确安装。
标签: c++ r gcc g++ bioconductor