最近再研究小文件存储,看到淘宝的tfs介绍说有对小文件做专门的优化,故有意学习一下。没想到这学习路程第一步就栽了。
tfs依赖淘宝自己的一个底层库,tb-common-utils,需要先编译安装tbsys和tbnet,错就从这开始了:
先是直接执行build.sh出错,报告:tbnetutils.cpp中有个“const char* 强制修改位char*”的错误。google之,确定问题出在ubuntu 11.04用的是gcc4.4,对这种强制转换直接报错。猜测开发者的编译器可能比较早,故直接找到该行,将p指针的声明从char* 调整为const char*。再编译,此错误通过。
然后仍然编译有错,查看似乎是一些测试文件的错误,忽略之。但是下边tbnet会报告找不到tbsys.h头文件,猜测是因为需要先将tbsys安装到TBLIB_ROOT下。直接在tbsys目录下执行make install,在TBLIB_ROOT下会出现tbsys的库和头文件。
最后去tbnet下执行make install,忽略一切报警(这库的作者真是让我佩服的五体投地,这样的代码居然拿出来给大家用!!!),安装成功。
之后编译tfs还是报错,不过总算先完成了一步,这个问题留给下一篇文章了。
阅读(3277) | 评论(0) | 转发(0) |