2014-11-06 42 views
5

我试图在Mac OSX 10.10上将RHbase安装到R 3.1.1上。RHbase/thrift安装问题

我已经通过自制安装节俭,然而,当我尝试过R从源代码安装HBase的我得到以下几点:

install.packages("~/Downloads/rhbase_1.2.1.tar.gz", repos = NULL, type = "source") 
* installing *source* package ‘rhbase’ ... 
** libs 
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -I. -g -DHAVE_UINTPTR_T -DHAVE_NETDB_H=1 -fpermissive -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -I./gen_cpp `pkg-config --cflags thrift` -Wall -fPIC -Wall -mtune=core2 -g -O2 -c Hbase.cpp -o Hbase.o 
/bin/sh: pkg-config: command not found 
In file included from Hbase.cpp:7: 
./Hbase.h:10:10: fatal error: 'TProcessor.h' file not found 
#include <TProcessor.h> 
     ^
1 error generated. 
make: *** [Hbase.o] Error 1 
ERROR: compilation failed for package ‘rhbase’ 
* removing ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rhbase’ 
Warning in install.packages : 
installation of package ‘/Users/halloran/Downloads/rhbase_1.2.1.tar.gz’ had non-zero exit status 

想必它缺少一个环节所需的库?

编辑:看什么看pkg配置的回报..

pkg-config --cflags thrift 
-I/usr/local/Cellar/thrift/0.9.1/include 
+0

我有同样的问题,你有没有解决它? – 2015-02-26 18:55:25

+0

唉,不!从那时起,我没有尝试过修复它,我必须承认。 – 2015-02-27 15:02:18

回答

8

我想我想通了。我的配置开始了和你一样,我也得到了同样的错误:

% pkg-config --cflags thrift 
-I/usr/local/Cellar/thrift/0.9.2/include 

我做了两个改动/usr/local/lib/pkgconfig/thrift.pc

% cd /usr/local/lib/pkgconfig 
% perl -pi -e 's{(^includedir=.*/include$)}{$1/thrift}' thrift.pc 
% perl -pi -e 's{(^Cflags:.*)}{$1 -std=c++11}' thrift.pc 

第一个只是增加/thriftincludedir=行结束。第二个将-std=c++11参数添加到Cflags,以解决您将遇到的下一个问题,命名空间问题。

然后你的配置应该看起来像下面,安装rhbase应该会成功,但仍然有很多警告。

% pkg-config --cflags thrift 
-std=c++11 -I/usr/local/Cellar/thrift/0.9.2/include/thrift 
+0

唉,不! 'dyn.load(file,DLLpath = DLLpath,...)中的错误: 无法加载共享对象'/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rhbase/libs/rhbase。所以': 的dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rhbase/libs/rhbase.so,6):符号未找到:__ZN6apache6thrift9transport7TSocketC1ENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEi 预期在:平面命名空间 在/ Library /框架/ R.framework /版本/ 3.1 /资源/库/ rhbase/libs/rhbase.so 错误:加载失败 执行停止' – 2015-03-03 20:59:24

+0

1000次感谢! '/ usr/local/lib/pkgconfig'的问题让我疯狂。你有什么想法为什么它结束了吗?不应该通常以'/ usr/local/lib/pkgconfig/thrift'结尾吗? – DatamineR 2015-05-20 21:50:34

+0

谢谢!它有帮助。 – Jacky 2016-06-22 08:33:38