rhbase/thrift安装问题

bfhwhh0e  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(409)

我正在尝试将rhbase安装到macosx10.10上的r3.1.1上。
我已经通过自制安装了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 config返回的内容。。

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

iswrvxsc1#

我想我知道了。我的配置和你的一样,我得到同样的错误:

% 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

第一个只是增加了 /thrift 到最后 includedir= 线路。第二个加上 -std=c++11 论据 Cflags ,以解决您将遇到的下一个问题,命名空间问题。
然后您的配置应该如下所示,然后安装 rhbase 应该会成功,尽管还有很多警告。

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

相关问题