安装环境:
CentOS 5.8
boost 1.5.3
thrift 0.9.0
编译时的错误提示:/usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function "uint32_t apache::thrift::protocol::TBinaryProtocolT<Transport_>::writeI16(int16_t)":
/usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147: error: there are no arguments to "htons" that depend on a template parameter, so a declaration of "htons" must be available
/usr/local/include/thrift/protocol/TBinaryProtocol.tcc:147: error: (if you use "-fpermissive", G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/local/include/thrift/protocol/TBinaryProtocol.tcc: In member function "uint32_t apache::thrift::protocol::TBinaryProtocolT<Transport_>::writeI32(int32_t)":
/usr/local/include/thrift/protocol/TBinaryProtocol.tcc:154: error: there are no arguments to "htonl" that depend on a template parameter, so a declaration of "htonl" must be available
/usr/local/include/thrift/transport/TSocket.h: At global scope:
/usr/local/include/thrift/transport/TSocket.h:219: error: expected ";" before "*" token
/usr/local/include/thrift/transport/TSocket.h:240: error: expected "," or "..." before "*" token
/usr/local/include/thrift/transport/TSocket.h:293: error: "sockaddr_in" does not name a type
/usr/local/include/thrift/transport/TSocket.h:294: error: "sockaddr_in6" does not name a type
/usr/local/include/thrift/server/TNonblockingServer.h:780: error: expected "," or "..." before "*" token
store.cpp: In member function "void BufferStore::setNewRetryInterval(bool)":
store.cpp:1681: warning: comparison between signed and unsigned integer expressions
store.cpp:1693: warning: comparison between signed and unsigned integer expressions
store.h: In constructor "NetworkStore::NetworkStore(StoreQueue*, const std::string&, bool)":
store.h:407: warning: "NetworkStore::opened" will be initialized after
store.h:401: warning: "time_t NetworkStore::lastServiceCheck"
store.cpp:1743: warning: when initialized here
make[3]: *** [store.o] Error 1
make[3]: Leaving directory `/root/download/scribe/src"
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/download/scribe/src"
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/download/scribe"
make: *** [all] Error 2
解决办法: export CPPFLAGS="-DHAVE_NETDB_H=1 -fpermissive"
./bootstrap.sh
./configure更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14Linux设置存储自动挂载后系统无法登录即repair filesystem模式修复方法CentOS 6.4 上找不到qmake的解决办法相关资讯 Scribe
- CentOS下scribe日志分析工具安装 (03月01日)
- 大数据应用日志采集之Scribe 安装 (07/23/2013 14:00:44)
| - Scribe配置文件解析 (07/23/2013 14:11:35)
- 在Linux(CentOS)上安装Thrift+ (12/18/2012 12:03:06)
|
本文评论 查看全部评论 (0)