thrift 在ubuntu 11.04下的编译过程一两点心得

今天需要使用thrift于是随手下载下来了,下载过程很简单,但是编译工程有点血泪史,小分享一下,声明下问题不是我解决的,是同事帮助下搞定的。

 

一些先决条件:

 

1 java 的库需要装好ant

2 c++版本需要装上boost库

3 openssl要装上libssl-dev

 

环境ok了现在可以来编译了,首先./configure下,看看是不是ok的了?

 

接下来make,由于我的操作系统是64位的还是遇到一些问题,需要修改下几个地方:

 

1 /etc/ld.so.conf 中增加一行 /usr/lib64/ssl

2 修改下 thrift的Makefile:
找到:LIBS = -lrt -lpthread
修改成:LIBS = -lrt -lpthread -lssl
make下还有几个地方都要改Makefile的:
lib/cpp/Makefile
lib/cpp/test/Makefile

都要照此修改,其他就ok了,make
安装的时候要sudo下,基本上就ok了。

这个东西对于像我这样java开发还是挺陌生的,我是找的c++工程师帮助搞定的,人家确实比较熟,搞了几下就搞定了,感谢。

Ubuntu16.04下安装和编译thrift0.10.0 一、安装thrift折腾了好久,才把它安装好,测试还不能准确进行,后续再查原因了。按照官网上的安装教程:http://thrift.apache.org/docs/install/debian1)首先安装相关工具包:sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev li... 阅读详情

相关推荐

linux的thrift编译指南详细版(64位 + 32位)

linux的thrift编译指南详细版(64位 + 32位)一、简介二、编译1. OpenSSL2. libevent3. boost4. thrift三、检查四、总结 一、简介 thrift是使用IDL定义接口的支持多种开发语言的RPC框架,是apache项目之一。 二、编译 thrift依赖于boost、libevent和openssl。 64位系统编译32库需要安装gcc-multilib和g++ - multilib: sudo apt-get install gcc-multilib g+

小小的进步 2759

解决Ubuntu下"syntax error near unexpected token"报错问题

通过下面命令查看文件 vi -b file_name 可以看到每行末尾都有”^M”字符, 用vi编辑器通过下面的命令将该字符替换掉 :%/^M//g #这里的"^M"是用Ctrl+v和Ctrl+m分别输入的 :wq #保存并退出...

江南古镇的博客 4545

微信小程序 实现拼图功能

微信小程序 实现碎片拼图

weixin_45689786的博客 2250

thrift交叉编译遇到的疑难杂症

1、make过程中无法确定右值 解决方案:./config.h /lib/cpp/src/thrift/config.h (如果c_glib也出现 /lib/c_glib/src/thrift/config.h) 在这些config.h 中加入宏 #define SIGNED_RIGHT_SHIFT_IS 1 #define ARITHMETIC_RIGHT_SHIFT 1 参考https://blog.csdn.net/litao31415/article/details/103080

weijianjain的博客 718

Linux中断子系统(二)—— 通用框架处理

1、数据结构分析 (1)中断描述符结构structirq_desc: 1)打开CONFIG_SPARSE_IRQ宏(中断编号不连续),中断描述符以radix- tree来组织,用户在初始化时进行动态分配,然后再插入radix-tree中; 2)关闭CONFIG_SPARSE_IRQ宏(中断编号连续),中断描述符以数组的 形式组织,并且已经分配好; 3)不管哪种形式,最终都可以通过linuxirq号来找到对应的中断描述符; (2)stru...

weixin_38428439的博客 4871

WorkVisual传输程序报错_发现一个内部错误

WorkVisual传输程序报错_发现一个内部错误

qq_16401025的博客 2455

ubuntu 16.04 编译thrift0.11.0

安装环境     ~~~~    编译thrift需要一些工具和第三方库,我们需要提取安装好,我们操作都是在有网的情况下。注意我这里boost是编译的,所有没有使用apt-get添加,也可以使用apt-get直接添加。 sudo apt-g

qilimi1053620912的博客 883

Matlab结果性能评价---rms函数(计算矩阵、数组和向量元素均方根)

实例1:创建一个向量(正弦波)并计算其均方根值 实例2:创建一个二维矩阵并计算其均方根值 实例3:计算二维矩阵沿指定维度的均方根值 本例程配套完整源码下载 均方根(Root-Mean-Square Level): 向量x的均方根值为沿着指定的维度执行求和: 语法描述: y = rms(x)返回输入x的均方根值。如果x是行或列向量,y是实数值标量。对于大小尺寸大于1矩阵x,y包含沿x的第一个数组维度计算的均方根值。例如,如果x是N > 1的N*M矩阵,那么y是1*M行向量,对应x矩..

qq_32809093的博客 3万+

Ubuntu安装16.04 安装thrift

转载:https://blog.csdn.net/XCCCCZ/article/details/91171470 1. Download http://thrift.apache.org/页面右边Download个thrift-x.xx.0.tar.gz压缩包,到Linux下解压. git clone https://github.com/apache/thrift.git下载源码到本地 2...

lxlong的博客 1026

AI 辅助编程全景:演进、提效场景与未来趋势

本文系统梳理了AI辅助编程的发展历程与应用场景。演进路径分为三代:从代码补全工具(2023)、对话式助手(2024)到自主编程代理(2025)。在软件全生命周期中,AI可显著提升各环节效率:需求分析阶段节省30-60%文档编写时间;设计阶段缩短40-60%技术调研周期;编码阶段通过智能补全提升55%任务速度;测试阶段减少30-60%测试编写时间。数据显示,2025年84%开发者使用AI工具,41%代码由AI生成,平均每周节省3.6小时。AI正推动开发者角色从编写者转变为审核者,但复杂业务逻辑和架构设计仍需人

甘蓝的专栏 472

Android 10.0 SystemUI下拉状态栏点击设置跳转设置时白屏修改

在10.0的系统rom定制化开发中,在SystemUI下拉状态栏下方点击设置图标跳转设置的过程中,发现 有白屏显示挡住设置界面,显示白屏,接下来分析下相关原因来解决这个问题

安卓兼职framework和app工程师的博客 80

Thrift最新版thrift-0.12.0在Ubuntu 16.04下的build和install及问题解决

Thrift当前最新版是0.12.0,到http://thrift.apache.org/页面右边Download个thrift-0.12.0.tar.gz压缩包,到Linux下解压,或者执行 git clone https://github.com/apache/thrift.git下载源码到本地,按照http://thrift.apache.org/docs/install/到提示,根据你到...

XCCCCZ的博客 3670

基于STM32L4XX的环境光传感器(VCNL4040M3OE)应用程序设计

• 集成模块:红外发射器(IRED)、环境光传感器(ALS)、接近传感器(PS)及信号调理IC。#define VCNL4040_I2C_ADDR (0x60 << 1) // 7位地址左移一位。// 组合成16位值。// I2C总线句柄。// 设置参数:ALS集成时间160ms,中断禁止,ALS功能开启。// 设置参数:PS工作频率80Hz,开红外二极管,PS功能开启。// 初始化I2C外设。• 输出类型:I2C总线(ALS/PS)// 2. 配置环境光传感器 (ALS) 并启动。

myron6688的博客 143

Ubuntu 11.04下thrift-0.8.0的安装 - Linux - 红黑联盟

Ubuntu 11.04下thrift-0.8.0的安装 - Linux - 红黑联盟 Ubuntu 11.04下thrift-0.8.0的安装 - Linux - 红黑联盟 Ubuntu 11.04下thrift-0.8.0的安装 2012-08-13 14:...

168

Cesium 实现动态加载气象数据:渲染成动态雨雪/云层效果(源码 + 原理)

本文介绍了在Cesium中实现动态天气效果的技术方案。核心思路是通过时间轴驱动多层数据动态切换,包括:1)时间维度处理,按序列加载不同气象图层;2)空间维度处理,将气象数据切分为瓦片;3)效果层实现,制作风场、降水等动态可视化效果。文章详细讲解了后端数据预处理(生成瓦片和风场JSON)、前端实现(双层雷达瓦片交替渐变、风场粒子系统)的具体方法,并提供了完整的代码示例。此外还探讨了雨雪粒子、云层效果等增强功能,以及工程化建议,为构建科学准确的动态天气可视化系统提供了实用解决方案。

专注AI大模型,软件混淆,授权 623

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ubuntu16.04编译安装thrift

ubuntu16.04编译安装thrift 下载source包 http://www.apache.org/dyn/closer.cgi?path=/thrift/0.11.0/thrift-0.11.0.tar.gz 安装编译必须包 sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev li...

蜗牛往上爬 459

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ubuntu下安装使用Thrift

 1、简介 Thrift是Facebook的一个开源项目,主要是一个跨语言的服务开发框架。它有一个代码生成器来对它所定义的IDL定义文件自动生成服务代 码框 架。用户只要在其之前进行二次开发就行,对于底层的RPC通讯等都是透明的。目前它支持的语言有C++, Java, Python, PHP,   Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smallt

zhuzhenyang110的专栏 2701

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

thrift学习

学习thrift的一些总结 最近由于项目组买了面结构光传感器,自带一个软件,然而老师想我们自己做二次开发,然后就和技术聊了,他们的是基于thrift来做的,而thrift是个啥玩意,没办法,只能硬着头皮学了,这里记录一下学习中掉的坑。 thrift是个什么东西 Thrift是一种接口描述语言和二进制通讯协议,[1]它被用来定义和创建跨语言的服务。[2]它被当作一个远程过程调用(RPC)框架来使用,...

铅笔的博客 190

ubuntu18.04 brpc踩坑

ubuntu brpc踩坑 1、安装Thrift //配置thrift依赖,参考https://thrift.apache.org/docs/install/debian sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config //以下不要省略 wget http://ftp.debian.org/debian/pool/mai

yxh505613923的博客 1308

P4语言编译环境搭建Ubuntu20.04

搭建P4编译环境 现有的一些教程基本都是在Ubuntu16等旧版本上的,照着原有的教程在Ubuntu20及以后的版本中会有较多的错误,本文记录一下艰苦的搭环境过程,笔者使用的系统为Ubuntu20.04,强烈建议多参考GitHub中提供的官方文档。 https://github.com/p4lang P4C安装 . /etc/os-release echo "deb http://download.opensuse.org/repositories/home:/p4lang/xUbuntu_${VERSIO

Winters_coming的博客 2416

Ubuntu安装Thrift连接Hive

Thrift提供了一种通过代码生成引擎生成中间代码来实现跨语言调用的机制。本文介绍                    1.如何安装Thrift编译器,                    2.通过一个小例子展示如何使用python通过Thrift调用Hive 必要前提条件:1.已安装配置jdk 2.已安装Hadoop,Hive并已启动、可使用。3.已安装gcc与g++并可使用。

践行者John的专栏 1824

安装ubuntu10.04 下 安装 scribe thrift

scribe就不用介绍了,网上很多资料,下面文档很方便ubuntu+scribe安装,希望对大家有帮助。scribe只负责接收消息,日志分析程序还需要自己写。 1.安装依赖包  apt-get install ruby-dev libevent-dev python-dev libevent-dev\ libboost-dev libboost-filesystem-dev coll

wangyifeng6的专栏 976

PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)

目录目录 前言Thrift1和Thrift2的简要介绍 1 写在前面 2 Thrift1和Thrift2的区别 Thrift092的安装 1 安装依赖插件 2 Thrift092的编译 3 Thrift092编译后配置成可执行文件 Hbase0962的安装 1 Hbase的介绍 2 Hbase的安装 3 Hbase基于源码的Thrift生成接口文件 PHP和Golang使用Thrift1和Thrif

迦壹的博墅 996

Thrift测试

Ubuntu下测试Thrift Thrift介绍 Thrift 官网 http://thrift.apache.org/ 版本下载 http://archive.apache.org/dist/thrift/ 安装编译环境 在Ubuntu12.04下编译失败,automake、boots等需要版本较高,apt-get install命令不能安装,自己编译太麻烦,放弃。 ...

1026

Thrift示例程序

Thrift是一个跨语言、高可用、高性能、轻量级的RPC框架

怀揣梦想,努力前行 1703

ubuntu 安装thrift

ubuntu 安装thrift 博客分类: 学习笔记 node.jsthriftjava     安装ant和ivy, 1。下载     ant下载地址:http://ant.apache.org/下载apache-ant-1.8.1-bin.tar.gz(当前最新版本),将该下载包拷贝到/usr/local下(随意了,找个地方就好)   2。解压      c

可克技术 2489
上一篇: StringBuilder和String中的subString方法的细微差别
下一篇: 在linux下删除大文件的好方法
edwardpro1
博客等级 码龄14年 2粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值