2014-11-06 22 views
5

Tôi đang cố gắng cài đặt RHbase lên R 3.1.1 trên Mac OSX 10.10.Vấn đề RHbase/tiết kiệm cài đặt

Tôi đã cài đặt tiết kiệm qua Homebrew, tuy nhiên, tôi nhận được sau khi tôi cố gắng để cài đặt HBase từ nguồn qua R:

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 

Có lẽ nó thiếu một liên kết đến các thư viện cần thiết?

EDIT: Nhìn vào những gì lợi nhuận pkg-config ..

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

Tôi gặp vấn đề tương tự, bạn đã bao giờ giải quyết vấn đề chưa? –

+0

Than ôi, không! Không cố gắng sửa chữa nó kể từ đó, tôi phải thừa nhận. –

Trả lời

8

Tôi nghĩ rằng tôi figured it out. cấu hình của tôi bắt đầu ra giống như bạn, và tôi nhận được các lỗi tương tự:

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

tôi thực hiện hai thay đổi /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 

Người đầu tiên chỉ cho biết thêm /thrift đến cuối dòng includedir= . Thứ hai thêm đối số -std=c++11 vào Cflags, để giải quyết vấn đề tiếp theo bạn sẽ gặp phải, một vấn đề về không gian tên.

Sau đó, cấu hình của bạn sẽ trông giống như bên dưới và cài đặt rhbase sẽ thành công, mặc dù vẫn còn nhiều cảnh báo.

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

Than ôi, không! 'Lỗi trong dyn.load (tệp, DLLpath = DLLpath, ...): không thể tải đối tượng được chia sẻ '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rhbase/libs/rhbase. nên ': không tìm thấy Symbol:: dlopen (/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rhbase/libs/rhbase.so, 6) __ZN6apache6thrift9transport7TSocketC1ENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEi Dự kiến ​​trong: namespace phẳng trong/Library/Khung/R.framework/Phiên bản/3.1/Tài nguyên/thư viện/rhbase/libs/rhbase.so Lỗi: tải không thành công Thực hiện tạm dừng' –

+0

1000 lần cảm ơn vì điều này! Vấn đề với '/ usr/local/lib/pkgconfig' khiến tôi phát điên. Bạn có biết tại sao nó kết thúc như thế không? Nó có nên kết thúc bằng '/ usr/local/lib/pkgconfig/tiết kiệm' không? – DatamineR

+0

Cảm ơn! Nó đã giúp đỡ. – Jacky

Các vấn đề liên quan