简体   繁体   English

rhipe安装错误:软件包“ Rhipe”的编译失败

[英]rhipe installation error: compilation failed for package ‘Rhipe’

I am new to this and I am trying to install Rhipe-0.74 on centos 6.2. 我对此并不陌生,我正在尝试在centos 6.2上安装Rhipe-0.74。 I am getting following error. 我收到以下错误。

    [root@hadoop-master Rhipe]# R CMD INSTALL Rhipe_0.74.0.tar.gz 
* installing to library ‘/usr/lib64/R/library’
* installing *source* package ‘Rhipe’ ...
** libs
g++ -m64 -I/usr/include/R -DNDEBUG  -I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -I.  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -DUSEAUTOSHORT -DHAVE_UINTPTR_T    `/usr/lib64/R/bin/R CMD config --cppflags` `pkg-config --cflags protobuf` -c rexp.pb.cc -o rexp.pb.o
In file included from rexp.pb.cc:4:
rexp.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
rexp.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
rexp.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
In file included from rexp.pb.cc:4:
rexp.pb.h: In member function ‘void REXP::clear_rawvalue()’:
rexp.pb.h:672: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘void REXP::set_rawvalue(const std::string&)’:
rexp.pb.h:682: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘void REXP::set_rawvalue(const char*)’:
rexp.pb.h:689: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘void REXP::set_rawvalue(const void*, size_t)’:
rexp.pb.h:696: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘std::string* REXP::mutable_rawvalue()’:
rexp.pb.h:703: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘std::string* REXP::release_rawvalue()’:
rexp.pb.h:710: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h:714: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘void STRING::clear_strval()’:
rexp.pb.h:853: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘void STRING::set_strval(const std::string&)’:
rexp.pb.h:863: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘void STRING::set_strval(const char*)’:
rexp.pb.h:870: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘void STRING::set_strval(const char*, size_t)’:
rexp.pb.h:877: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘std::string* STRING::mutable_strval()’:
rexp.pb.h:884: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h: In member function ‘std::string* STRING::release_strval()’:
rexp.pb.h:891: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.h:895: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.cc: In member function ‘void REXP::SharedCtor()’:
rexp.pb.cc:256: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.cc: In member function ‘void REXP::SharedDtor()’:
rexp.pb.cc:265: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.cc: In member function ‘virtual void REXP::Clear()’:
rexp.pb.cc:296: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.cc: In member function ‘void STRING::SharedCtor()’:
rexp.pb.cc:905: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.cc: In member function ‘void STRING::SharedDtor()’:
rexp.pb.cc:915: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
rexp.pb.cc: In member function ‘virtual void STRING::Clear()’:
rexp.pb.cc:945: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
make: *** [rexp.pb.o] Error 1
ERROR: compilation failed for package ‘Rhipe’
* removing ‘/usr/lib64/R/library/Rhipe’

As I understood the problem is due to multiple protobuf installation. 据我了解,问题是由于多个protobuf安装造成的。 I googled it but still couldn't resolve the issue. 我用谷歌搜索,但仍然无法解决问题。 Please help me to solve this. 请帮我解决这个问题。 Any help will be appreciated. 任何帮助将不胜感激。 Thank you in advance. 先感谢您。

Maybe it's a bit late, but I was having the same issue and managed to install it by using protobuf version 2.5.0 and RHipe v0.75.1.3 in CentOS 7. 也许有点晚了,但是我遇到了同样的问题,并设法通过在CentOS 7中使用protobuf版本2.5.0和RHipe v0.75.1.3来安装它。

You can download this version of protobuf from here . 您可以从此处下载此版本的protobuf。 Copy the tar.gz within /usr/local/lib and follow the instructions in the README (basically, unzip it and execute ./configure , make and make install ). 复制内将tar.gz /usr/local/lib ,并按照自述(基本上,将它解压缩并执行指令./configuremakemake install )。

After that, set the required hadoop environment variables (PKG_CONFIG_PATH needs to point to /usr/local/lib/pkgconfig , or to the folder where you installed Protobuf). 之后,设置所需的hadoop环境变量(PKG_CONFIG_PATH需要指向/usr/local/lib/pkgconfig或安装Protobuf的文件夹)。 Finally, install the RHipe package. 最后,安装RHipe软件包。 You can download older versions of RHipe from here . 您可以从此处下载RHipe的旧版本。

Cheers. 干杯。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM