Thrift源码编译-创新互联
Thrfit0.11版本安装
坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都成都宣传片制作小微创业公司专业提供企业网站制作营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。构建Apache Thrift IDL编译器
环境准备
yum install libtool libtool-devel libevent libevent-devel flex byacc byacc-devel boost boost-devel bison bison-devel -y
下载
wget https://github.com/apache/thrift/archive/0.11.0.tar.gz
指令执行
./bootstrap.sh
./configure --enable-libs=no --prefix=/home/test/
make && make install
说明 --enable-libs=no开关仅在没有lib构建的情况下构建Apache Thrift IDL编译器
configure后面可以指定如下需要编译的语言库
--with-csharp build the C# library [default=yes]
--with-java build the Java library [default=yes]
--with-erlang build the Erlang library [default=yes]
--with-nodejs build the Nodejs library [default=yes]
--with-lua build the Lua library [default=yes]
--with-python build the Python library [default=yes]
--with-perl build the Perl library [default=yes]
--with-php build the PHP library [default=yes]
--with-php_extension build the PHP_EXTENSION library [default=yes]
--with-dart build the DART library [default=yes]
--with-ruby build the Ruby library [default=yes]
--with-haskell build the Haskell library [default=yes]
--with-go build the Go library [default=yes]
注意
# 当make报错时,package golang.org/x/net/context: unrecognized import path "golang.org/x/net/context",可以把go关掉:
[root@node1 thrift-0.11.0]# ./configure --with-go=no
Thrift C++动态库编译
源码目录:thrift-0.11.0/lib/cpp
只有当执行了./configure --enable-libs=no --prefix=/home/test/,进行了IDL的配置之后,才会根据Makefile.am文件生成Makefile文件。
只有执行了make &&make install,才能够正常的编译完成C++的测试例子,出错如下,原因是还没有生成IDL工具thrift:
make[1]: Entering directory '/home/dong/thrift/thrift-0.11.0/lib/cpp/test'
/home/dong/thrift/thrift-0.11.0/compiler/cpp/thrift --gen cpp ../../../test/AnnotationTest.thrift
make[1]: /home/dong/thrift/thrift-0.11.0/compiler/cpp/thrift: Command not found
make[1]: *** [Makefile:1815: gen-cpp/AnnotationTest_types.h] Error 127
make[1]: Leaving directory '/home/dong/thrift/thrift-0.11.0/lib/cpp/test'
make: *** [Makefile:1720: all-recursive] Error 1
实际上已经成功生成了libthrift动态库目录在thrift-0.11.0/lib/cpp/.libs
库:libthrift-0.11.0.so libthrift.a libthrift.la libthrift.lai libthrift.so
Thrfit0.90版本安装
1)确保系统安装了OpenSSL开发包
rpm -qa |grep openssl
openssl-libs-1.0.2k-19.el7.x86_64
openssl-1.0.2k-19.el7.x86_64
openssl-devel-1.0.2k-19.el7.x86_64
2)没有rpm源仓库,手动编译指定安装
./configure CPPFLAGS="-I /home/dong/3thrdparty/openssl-1.0.2j/include" LDFLAGS="-ldl -L /home/dong/3thrdparty/openssl-1.0.2j/"
否则编译出错
configure: error: "Error: libcrypto required."
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:Thrift源码编译-创新互联
转载来于:http://cdiso.cn/article/eichs.html