博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redhat 6.3下编译淘宝tfs
阅读量:6526 次
发布时间:2019-06-24

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

  hot3.png

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

下面我就把在帽子6.3上编译淘宝tfs过程以及处理过程写出来,希望对大家有所帮助。首先checkout代码,如图:

    经淘宝TFS开发者张友东指点,上述svn checkout直接下载的tb-common-utils最新版,这个现在直接写最新版本有问题的,必须checkout r18及以下的版本:

    svn co -r 18 http://code.taobao.org/svn/tb-common-utils/trunk tb-common-utils

首先编译安装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一下,应该可以看到已经编译安装成功了。如图

 

转载于:https://my.oschina.net/beiyou/blog/76129

你可能感兴趣的文章
python 获取进程pid号
查看>>
链表中插入一个节点的三种情况
查看>>
洛谷.4180.[模板]次小生成树Tree(Kruskal LCA 倍增)
查看>>
TCL函数“参数自动补全” 与 “help 信息显示”
查看>>
POJ1050To the Max
查看>>
汇编基础--标识符、标号、伪指令和指令
查看>>
PowerShell与系统开局(下)
查看>>
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(四)
查看>>
Go 四篇
查看>>
游戏数值策划-经验值计算公式设计(自百度文库)
查看>>
Spring JDBC模板惯用方式
查看>>
将公用文件夹从Exchange2010迁移到 Exchange 2013
查看>>
动态规划算法
查看>>
WebService学习总结(二)——WebService相关概念介绍
查看>>
泥鳅般的const(一个小Demo彻底搞清楚)
查看>>
Pyqt 打开外部链接的几种方法
查看>>
JavaScript DOM编程艺术学习笔记(一)
查看>>
event.srcElement获得引发事件的控件(表单)
查看>>
ASP.NET MVC铵钮Click后下载文件
查看>>
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
查看>>