sysbench是测试mysql性能的一个很好的工具,在下载了源码,编译的过程中遇到了如下错误:
1、libtool问题
../libtool: line 841: X--tag=CC: command not found
../libtool: line 874: libtool: ignoring unknown tag : command not found
../libtool: line 841: X--mode=link: command not found
../libtool: line 1007: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 1008: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
../libtool: line 2234: X-g: command not found
../libtool: line 2234: X-O2: command not found
../libtool: line 1954: X-L/app/mysql/lib/mysql: No such file or directory
../libtool: line 2403: Xsysbench: command not found
baidu之后,网上有人说是ibtool版本低的问题,也复制过系统的libtool到sysbench源码目录下重编编译过还是不行。
按照如下方法修改之后搞定:
修改
1)#vi sysbench-0.4.12/configure.ac
......
#AC_PROG_LIBTOOL
AC_PROG_RANLIB
......
#./autogen.sh
#./configure
#./configure --with-mysql-includes=/app/mysql/include/mysql --with-mysql-libs=/app/mysql/lib/mysql && make && make install
编译生成了执行文件:
# find / -name sysbench
/app/sysbench-0.4.12/sysbench
/app/sysbench-0.4.12/sysbench/sysbench
/usr/local/share/doc/sysbench
/usr/local/bin/sysbench
/home/sysbench-0.4.12/sysbench
# /usr/local/bin/sysbench
/usr/local/bin/sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
[root@masterB sysbench-0.4.12]# ldd /usr/local/bin/sysbench
linux-vdso.so.1 => (0x00007fffd3fff000)
libmysqlclient.so.18 => not found
librt.so.1 => /lib64/librt.so.1 (0x00000036ae800000)
libm.so.6 => /lib64/libm.so.6 (0x00000036af000000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000036ae400000)
libc.so.6 => /lib64/libc.so.6 (0x00000036ae000000)
/lib64/ld-linux-x86-64.so.2 (0x00000036ad800000)
发现这个lib是存在的
# find / -name libmysqlclient.so.18
/app/mysql/lib/libmysqlclient.so.18
注册之后还是找不到:
# ldconfig /app/mysql/lib/libmysqlclient.so.18
#/sbin/ldconfig –v
# ldd /usr/local/bin/sysbench
linux-vdso.so.1 => (0x00007fffd3fff000)
libmysqlclient.so.18 => not found
librt.so.1 => /lib64/librt.so.1 (0x00000036ae800000)
libm.so.6 => /lib64/libm.so.6 (0x00000036af000000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000036ae400000)
libc.so.6 => /lib64/libc.so.6 (0x00000036ae000000)
/lib64/ld-linux-x86-64.so.2 (0x00000036ad800000)
于是修改/etc/ld.so.conf ,加上下面这行:
# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/app/mysql/lib/
# /sbin/ldconfig -v 之后查看:
# ldd /usr/local/bin/sysbench
linux-vdso.so.1 => (0x00007fff1c895000)
libmysqlclient.so.18 => /app/mysql/lib/libmysqlclient.so.18 (0x00007fd56734a000)
librt.so.1 => /lib64/librt.so.1 (0x00000036ae800000)
libm.so.6 => /lib64/libm.so.6 (0x00000036af000000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000036ae400000)
libc.so.6 => /lib64/libc.so.6 (0x00000036ae000000)
libssl.so.6 => /usr/lib64/libssl.so.6 (0x00007fd5670fa000)
libcrypto.so.6 => /usr/lib64/libcrypto.so.6 (0x00007fd566d9e000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003752000000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000036bb000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000036b9c00000)
/lib64/ld-linux-x86-64.so.2 (0x00000036ad800000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003d15600000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003d13200000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00000036ba800000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003d13a00000)
libz.so.1 => /lib64/libz.so.1 (0x00000036af400000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003d13600000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003d13e00000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00000036b0400000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003d0c600000)
成功