简体   繁体   中英

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. 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. 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.

You can download this version of protobuf from here . 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 ).

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). Finally, install the RHipe package. You can download older versions of RHipe from here .

Cheers.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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