【问题标题】:RHbase/thrift install issueRHbase/thrift 安装问题
【发布时间】:2015-03-01 02:39:44
【问题描述】:

我正在尝试将 RHbase 安装到 Mac OSX 10.10 上的 R 3.1.1 上。

我已经通过 Homebrew 安装了 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 

【问题讨论】:

  • 我也遇到了同样的问题,你解决了吗?
  • 唉,不!从那以后没有尝试过修复它,我必须承认。

标签: r hadoop osx-yosemite


【解决方案1】:

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

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

我对@9​​87654322@做了两处修改:

% 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

【讨论】:

  • 唉,不! Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rhbase/libs/rhbase.so': dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rhbase/libs/rhbase.so, 6): Symbol not found: __ZN6apache6thrift9transport7TSocketC1ENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEi Expected in: flat namespace in /Library/Frameworks/R.framework/Versions/3.1/Resources/library/rhbase/libs/rhbase.so Error: loading failed Execution halted
  • 1000 次感谢您! /usr/local/lib/pkgconfig 的问题让我抓狂。你知道为什么会这样结束吗?它通常不应该以/usr/local/lib/pkgconfig/thrift结尾吗?
  • 谢谢!它有帮助。
猜你喜欢
  • 2023-03-18
  • 2015-06-21
  • 2020-08-11
  • 2021-05-18
  • 1970-01-01
  • 2021-05-31
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多