sysbench安装过程出现的问题解决办法

sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。目前支持的数据库有MySQL、Oracle和PostgreSQL。以下操作都将以支持MySQL数据库为例进行。
在安装过程中遇见的问题:

../libtool: line 838: X--tag=CC: command not found
../libtool: line 871: libtool: ignoring unknown tag : command not found
../libtool: line 838: X--mode=link: command not found
../libtool: line 1004: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 1005: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
../libtool: line 2231: X-g: command not found
../libtool: line 2231: X-O2: command not found
../libtool: line 2231: X-rdynamic: command not found
../libtool: line 1951: X-L/usr/lib/mysql: No such file or directory
../libtool: line 2400: Xsysbench: command not found

编译过程中出现如上问题,网上说由于libtool版本过旧,导致libtool内一些配置信息不一致。可以centos7.0中yum安装版本为:

===========================================================
 Package   Arch      Version       Repository    Size
===========================================================
Installing:
 libtool  x86_64  2.4.2-22.el7_3   updates       588 k
Transaction Summary
===========================================================

参考http://mirror.hust.edu.cn/gnu/libtool/,看到libtool2.4.2相对来说已经很新了,我就想是不是太新了。。。。然后我就下载了2.2.6版本的安装然后将libtool拷贝至sysbench下:

cp /usr/local/bin/libtool .

再进行编译发现之前的错误消失了,随之出现了如下的错误:

/usr/bin/ld: cannot find -lmysqlclient_r
collect2: error: ld returned 1 exit status
make[2]: *** [sysbench] Error 1
make[2]: Leaving directory `/home/mycat/sysbench-0.4.12/sysbench'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mycat/sysbench-0.4.12/sysbench'
make: *** [all-recursive] Error 1

可以看到是无法找到so文件,但是我configure的时候已经指定库文件位置(/home/mycat/mysql_5714/lib)了,这就起了怪了,难道还需要建立libmysqlclient_r.so库文件?
试一下吧,建一个libmysqlclient_r.so的软连接:

ln -s /home/mycat/mysql_5714/lib/libmysqlclient.so /home/mycat/mysql_5714/lib/libmysqlclient_r.so

结果还真成功了。。。

另外一个问题:

[root@mycat-1 sysbench-0.5]# sh autogen.sh 
autogen.sh: running `aclocal -I m4' 
autogen.sh: running `libtoolize --copy --force' 
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config'.
libtoolize: copying file `config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
autogen.sh: running `autoheader' 
autogen.sh: running `automake -c --foreign --add-missing' 
configure.ac:23: installing 'config/compile'
configure.ac:11: installing 'config/config.guess'
configure.ac:11: installing 'config/config.sub'
configure.ac:16: installing 'config/install-sh'
configure.ac:16: installing 'config/missing'
sysbench/Makefile.am: installing 'config/depcomp'
automake: warnings are treated as errors
/usr/share/automake-1.13/am/library.am: warning: 'libsbdrizzle.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/drivers/drizzle/Makefile.am:17:   while processing library 'libsbdrizzle.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsbmysql.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/drivers/mysql/Makefile.am:17:   while processing library 'libsbmysql.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsboracle.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/drivers/oracle/Makefile.am:17:   while processing library 'libsboracle.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsbpgsql.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/drivers/pgsql/Makefile.am:17:   while processing library 'libsbpgsql.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsbscript.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/scripting/Makefile.am:23:   while processing library 'libsbscript.a'
/usr/share/automake-1.13/am/library.am: warning: 'liblua.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/scripting/lua/src/Makefile.am:17:   while processing library 'liblua.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsbcpu.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/tests/cpu/Makefile.am:17:   while processing library 'libsbcpu.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsbfileio.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/tests/fileio/Makefile.am:17:   while processing library 'libsbfileio.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsbmemory.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/tests/memory/Makefile.am:17:   while processing library 'libsbmemory.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsbmutex.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/tests/mutex/Makefile.am:17:   while processing library 'libsbmutex.a'
/usr/share/automake-1.13/am/library.am: warning: 'libsbthreads.a': linking libraries using a non-POSIX
/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
sysbench/tests/threads/Makefile.am:17:   while processing library 'libsbthreads.a'

编辑configure.ac,在AM_PROG_CC_C_O下添加AM_PROG_AR

猜你喜欢

转载自blog.csdn.net/poxiaonie/article/details/73467829
今日推荐