filebench是一套裆案系统的效能评测软件.filebench下载地址
http://sourceforge.net/projects/filebench/files/filebench/
这里下载filebench-1.4.4版本,在安装过程中发现1..4.8版本安装存在很多问题.传统的安装方式在这里完全失效,官方公布的安装方式也不靠普,我个人的安装过程如下。
1、准备工作:
安装如下软件包,这些会在安装过程中会用到
yum install intltool automake libtool flex bison
2、然后安装libtcla
wget http://www.astro.caltech.edu/~mcs/tecla/libtecla-1.6.1.tar.gz
$ tar zxf libtecla-1.6.1.tar.gz
$ cd libtecla/
$ ./configure && make && sudo make install
3、接下来就是安装filebench 我的安装路径/usr/local下面
$ tar zxf filebench-1.4.4.tar.gz
$ cd filebench-1.4.4/
4、然后执行如下命令
$ aclocal && autoconf && autoheader && automake --add-missing --copy
$ ./configure
make
5、这里会发现make过程出现错误,解决方式如下
A、在/usr/local/filebench-1.4.4/filebench/fb_avl.h加入:
typedef unsigned long int ulong_t;
B、在filebench/fileset.h加入:
#ifndef HAVE_UINT_T
#define uint_t unsigned int
#endif /* HAVE_UINT_T */
C、还是在filebench目录下的multi_client_sync.c会有一個gethostbyname_r参数错误问题,修改方式如下:
先定义个参数:struct hostent *empty_hostent=NULL;
然后将empty_hostent补充在如下位子
if (gethostbyname_r(master_name, &master_info, buffer, MCS_MSGLENGTH,
&empty_hostent, &error_num) == NULL)
D、multi_client_sync.h:31:21: 错误: inet/ip.h:没有这个目录
inet/ip.h改成linux/ip.h
E、修改链接错误
修改 filebench/Makefile 將
LDLIBS = -lm -lm -lpthread -laio -lfl -lrt -ltecla -lsocket -lnsl 改成
LDLIBS = -lm -lm -lpthread -lfl -lrt -ltecla
LIBS = -lm -lm -lpthread -laio -lfl -lrt -ltecla -lsocket -lnsl 改成
LIBS = -lm -lm -lpthread -lfl -lrt -ltecla
6、修改工作完成,可以开始安装了
make install