sysbench 0.4.12版本可以在我的网盘下载http://pan.baidu.com/s/1jHAGYhS
我的设备上安装的是Centos5.5的裁剪版本,没有gcc,没有rpm,没有yum,没有一切东西。我只能在其它Centos5.5上编译sysbench,然后拷贝到我的系统中进行测试。
首先下载sysbench-0.4.12.zip
将zip文件解压,上传到centos5.5的/soft目录下
首先要生成Makefile文件
安装libtool
[root@localhost sysbench-0.4.12]# yum -y install libtool
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror.lzu.edu.cn
* base: mirror.lzu.edu.cn
* extras: mirror.bit.edu.cn
* updates: ftp.jaist.ac.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libtool.x86_64 0:1.5.22-7.el5_4 set to be updated
--> Processing Dependency: autoconf >= 2.50 for package: libtool
--> Processing Dependency: automake >= 1.4 for package: libtool
--> Running transaction check
---> Package autoconf.noarch 0:2.59-12 set to be updated
--> Processing Dependency: imake for package: autoconf
---> Package automake.noarch 0:1.9.6-3.el5 set to be updated
--> Running transaction check
---> Package imake.x86_64 0:1.0.2-3 set to be updated
--> Finished Dependency Resolution
执行./autogen.sh
[root@localhost sysbench-0.4.12]# ./autogen.sh
[root@localhost sysbench-0.4.12]#
[root@localhost sysbench-0.4.12]# ls
acinclude.m4 autogen.sh ChangeLog configure COPYING INSTALL Makefile.am missing README sysbench
aclocal.m4 autom4te.cache config configure.ac doc install-sh Makefile.in mkinstalldirs README-WIN.txt TODO
[root@localhost sysbench-0.4.12]#
安装mysql
[root@localhost sysbench-0.4.12]# yum -y install mysql
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror.lzu.edu.cn
* base: mirror.lzu.edu.cn
* extras: mirror.bit.edu.cn
* updates: ftp.jaist.ac.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql.i386 0:5.0.95-5.el5_9 set to be updated
--> Processing Dependency: perl(DBI) for package: mysql
---> Package mysql.x86_64 0:5.0.95-5.el5_9 set to be updated
--> Running transaction check
---> Package perl-DBI.x86_64 0:1.52-2.el5 set to be updated
--> Finished Dependency Resolution
接下来执行./configure命令
[root@localhost sysbench-0.4.12]# ./configure --prefix=/usr/local/sysbench --with-mysql-include=/usr/include/mysql
checking build system type... Invalid configuration `x86_64-unknown-linux-': machine `x86_64-unknown-linux' not recognized
configure: error: /bin/sh config/config.sub x86_64-unknown-linux- failed
报错,原因是,没有安装gcc,我们安装一下gcc
[root@localhost sysbench-0.4.12]# yum -y install gcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror.lzu.edu.cn
* base: mirror.lzu.edu.cn
* extras: mirror.bit.edu.cn
* updates: ftp.jaist.ac.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.1.2-55.el5 set to be updated
--> Processing Dependency: cpp = 4.1.2-55.el5 for package: gcc
--> Processing Dependency: libgcc >= 4.1.2-55.el5 for package: gcc
--> Processing Dependency: libgomp >= 4.1.2-55.el5 for package: gcc
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc
--> Running transaction check
---> Package cpp.x86_64 0:4.1.2-55.el5 set to be updated
---> Package glibc-devel.x86_64 0:2.5-123.el5_11.3 set to be updated
--> Processing Dependency: glibc = 2.5-123.el5_11.3 for package: glibc-devel
--> Processing Dependency: glibc-headers = 2.5-123.el5_11.3 for package: glibc-devel
--> Processing Dependency: glibc-headers for package: glibc-devel
---> Package libgcc.i386 0:4.1.2-55.el5 set to be updated
---> Package libgcc.x86_64 0:4.1.2-55.el5 set to be updated
---> Package libgomp.x86_64 0:4.4.7-1.el5 set to be updated
--> Running transaction check
--> Processing Dependency: glibc = 2.5-49 for package: nscd
---> Package glibc.i686 0:2.5-123.el5_11.3 set to be updated
--> Processing Dependency: glibc-common = 2.5-123.el5_11.3 for package: glibc
---> Package glibc.x86_64 0:2.5-123.el5_11.3 set to be updated
---> Package glibc-headers.x86_64 0:2.5-123.el5_11.3 set to be updated
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers
--> Processing Dependency: kernel-headers for package: glibc-headers
--> Running transaction check
---> Package glibc-common.x86_64 0:2.5-123.el5_11.3 set to be updated
---> Package kernel-headers.x86_64 0:2.6.18-412.el5 set to be updated
---> Package nscd.x86_64 0:2.5-123.el5_11.3 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
再执行./configure命令,正确生成了Makefile文件
[root@localhost sysbench-0.4.12]# ./configure --prefix=/usr/local/sysbench --with-mysql-include=/usr/include/mysql
[root@localhost sysbench-0.4.12]# ls
acinclude.m4 autogen.sh ChangeLog config.log configure COPYING INSTALL libtool Makefile.am missing README sysbench
aclocal.m4 autom4te.cache config config.status configure.ac doc install-sh Makefile Makefile.in mkinstalldirs README-WIN.txt TODO
[root@localhost sysbench-0.4.12]# make
[root@localhost sysbench]# make install
进入到sysbench目录下,发现生成了可执行文件sysbench
[root@localhost sysbench]# pwd
/soft/sysbench-0.4.12/sysbench
[root@localhost sysbench]# ls
CMakeLists.txt db_driver.h drivers Makefile.am sb_list.h sb_logger.h sb_options.c sb_options.o sb_timer.h sb_win.c sysbench sysbench.h tests
db_driver.c db_driver.o Makefile Makefile.in sb_logger.c sb_logger.o sb_options.h sb_timer.c sb_timer.o sb_win.h sysbench.c sysbench.o
[root@localhost sysbench]#
至此,我们成功编译了sysbench文件。
用ldd命令看一下sysbench的依赖库
[root@localhost sysbench]# ldd sysbench
libmysqlclient_r.so.15 => /usr/lib64/mysql/libmysqlclient_r.so.15 (0x00002b5f8ae25000)
libz.so.1 => /lib64/libz.so.1 (0x00002b5f8b199000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002b5f8b3ad000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b5f8b5e6000)
libssl.so.6 => /lib64/libssl.so.6 (0x00002b5f8b7fe000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002b5f8ba4c000)
librt.so.1 => /lib64/librt.so.1 (0x00002b5f8bd9f000)
libm.so.6 => /lib64/libm.so.6 (0x00002b5f8bfa8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b5f8c22b000)
libc.so.6 => /lib64/libc.so.6 (0x00002b5f8c448000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00002b5f8c7a1000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002b5f8c9cf000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002b5f8cc65000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00002b5f8ce67000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b5f8d08c000)
/lib64/ld-linux-x86-64.so.2 (0x00002b5f8ac07000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00002b5f8d291000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002b5f8d499000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00002b5f8d69b000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00002b5f8d8b1000)
libsepol.so.1 => /lib64/libsepol.so.1 (0x00002b5f8dac9000)
谢谢大家。