博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TFS 安装使用GCC4.4版本
阅读量:7091 次
发布时间:2019-06-28

本文共 1008 字,大约阅读时间需要 3 分钟。

淘宝的tfs在帽子5(rhel 5.* && centos 5.*)下面编译不会出题,但是在6.*下面,就会有很多报错,原因在于5.*与6.*二个版本的gcc不一样,帽子5系列使用gcc版本是4.1.2,而新版本的6使用的4.4.6,后者对编译的语法检查更严格,使得很多代码在帽子5系列上编译没有问题,而在帽子6系统下编译通不过。

首先编译安装tblib(tb-common-utils),里面含有tbsys和tbnet,tfs依赖这二个库,这里我安装在和tfs同一个路径。就几个命令。

安装完成后应该可以看到如下目录

表明已安装tblib成功,接下来进入正题安装tfs,进入tfs目录,执行如下命令,如图

执行完上面的步骤后,就可以看configure,和安装其它的开源软件一样。

执行make,出现第一个报错,如图

一大堆的类型转换错误,查看Makefile,发现如下

编译添加-Werror,使用警告的错误直接报error,导致编译出错。修改所有的Makefile,去掉-Werror,如图

再次make,出现了第二个报错,如图:

仔细看会发现,gene_session_id定义的没有匹配到原型,原因在于session_util.h没有加stdint.h的头文件,如果是低版本的gcc在编译时不会出问题,高版本就会报错,修改session_util.h,添加stdint.h头文件,如下:

继续make,出现第三个报错,如图

原因一样,高版本gcc语法检测更严,修改meta_server_service.cpp,在1584行,代码里强制类型转换一下,如图,添加如下红框部分

再次make,没有问题了,完毕后make install一下,应该可以看到已经编译安装成功了。如图

---------------------------------------------------------------------------------

以下是我在编译安装是出现的错误和使用的解决方案:

make

    报错:

uuid/uuid.h;No such file or directory

解决办法:

yum -y install libuuid-devel

本文转自 xinsir999 51CTO博客,原文链接:http://blog.51cto.com/xinsir/1582294,如需转载请自行联系原作者
你可能感兴趣的文章
HTTP协议
查看>>
eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis
查看>>
[Unit Testing] AngularJS Unit Testing - Karma
查看>>
Java NIO和IO的区别(转)
查看>>
Integer与int的区别(转)
查看>>
JavaScript 解决 onblur 与 onclick 冲突
查看>>
cocos2d-x 事件分发机制 ——加速计事件监听
查看>>
物理层
查看>>
大型网站架构演变和知识体系
查看>>
vi 替换
查看>>
实例37foreach遍历数组
查看>>
性能测试
查看>>
js滚动到底部事件
查看>>
Newtonsoft.Json 用法
查看>>
Unity3D如何减少安装包大小
查看>>
漫游Kafka设计篇之数据持久化
查看>>
Java提高篇——equals()与hashCode()方法详解
查看>>
【python】——小程序之电话薄
查看>>
Atitit.iso格式蓝光 BDMV 结构说明
查看>>
MySQL的create table as 与 like区别(转)
查看>>