linux中sysbench安装依赖包及出现的解决方法

在安装和使用sysbench时遇到的问题记录下

一个是源码安装系统环境要求:

需要安装m4  autoconf  automake libtool 这几个包,通过yum install m4  autoconf  automake libtool可进行安装

否则会报如下错误:

[root@sever2 sysbench-0.4.12-1.1]# ./autogen.sh
automake 1.10.x (aclocal) wasn't found, exiting
[root@sever2 sysbench-0.4.12-1.1]# ./autogen.sh
libtoolize 1.4+ wasn't found, exiting

二是 执行autogen.sh后,进行./configure,如果用来测试mysql的话,指定了几个参数。指定错了。

–with-mysql-includes  和 –with-mysql-libs

[root@sever2 sysbench-0.4.12-1.1]# ./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
。。。。。略
[root@sever2 sysbench-0.4.12-1.1]#  make
make[3]: Entering directory `/home/packages/sysbench-0.4.12-1.1/sysbench/drivers/mysql'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -I/usr/local/mysql/include -I../../../sysbench -D_XOPEN_SOURCE=500 -D_GNU_SOURCE  -W -Wall -Wextra -Wpointer-arith -Wbad-function-cast   -Wstrict-prototypes -Wnested-externs -Winline   -funroll-loops  -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align        -pthread -O2 -ggdb3  -MT libsbmysql_a-drv_mysql.o -MD -MP -MF .deps/libsbmysql_a-drv_mysql.Tpo -c -o libsbmysql_a-drv_mysql.o `test -f 'drv_mysql.c' || echo './'`drv_mysql.c
drv_mysql.c:36:19: 错误:mysql.h:没有那个文件或目录
drv_mysql.c:37:26: 错误:mysqld_error.h:没有那个文件或目录
drv_mysql.c:43:5: 警告:“MYSQL_VERSION_ID”未定义
drv_mysql.c:48:5: 警告:“MYSQL_VERSION_ID”未定义
drv_mysql.c: 在函数‘mysql_drv_init’中:
drv_mysql.c:244: 警告:隐式声明函数‘mysql_library_init’
drv_mysql.c:244: 警告:对‘mysql_library_init’的嵌套的外部声明
drv_mysql.c: 在函数‘mysql_drv_connect’中:
drv_mysql.c:266: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:266: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
drv_mysql.c:266: 错误:所在的函数内也只报告一次。)
drv_mysql.c:266: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:273: 错误:expected expression before ‘)’ token
drv_mysql.c:279: 警告:隐式声明函数‘mysql_init’
drv_mysql.c:279: 警告:对‘mysql_init’的嵌套的外部声明
drv_mysql.c:318: 警告:隐式声明函数‘mysql_ssl_set’
drv_mysql.c:318: 警告:对‘mysql_ssl_set’的嵌套的外部声明
drv_mysql.c:321: 错误:‘MYSQL_VERSION_ID’未声明(在此函数内第一次使用)
drv_mysql.c:331: 警告:隐式声明函数‘mysql_real_connect’
drv_mysql.c:331: 警告:对‘mysql_real_connect’的嵌套的外部声明
drv_mysql.c:338:5: 警告:“MYSQL_VERSION_ID”未定义
drv_mysql.c:346: 警告:隐式声明函数‘mysql_errno’
drv_mysql.c:346: 警告:对‘mysql_errno’的嵌套的外部声明
drv_mysql.c:347: 警告:隐式声明函数‘mysql_error’
drv_mysql.c:347: 警告:对‘mysql_error’的嵌套的外部声明
drv_mysql.c: 在函数‘mysql_drv_disconnect’中:
drv_mysql.c:361: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:361: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:366: 警告:隐式声明函数‘mysql_close’
drv_mysql.c:366: 警告:对‘mysql_close’的嵌套的外部声明
drv_mysql.c: 在函数‘mysql_drv_bind_param’中:
drv_mysql.c:441: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:441: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:441: 错误:expected expression before ‘)’ token
drv_mysql.c: 在函数‘mysql_drv_query’中:
drv_mysql.c:657: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:657: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:661: 警告:隐式声明函数‘mysql_real_query’
drv_mysql.c:661: 警告:对‘mysql_real_query’的嵌套的外部声明
drv_mysql.c:667: 错误:‘ER_LOCK_DEADLOCK’未声明(在此函数内第一次使用)
drv_mysql.c:667: 错误:‘ER_LOCK_WAIT_TIMEOUT’未声明(在此函数内第一次使用)
drv_mysql.c:668: 错误:‘ER_CHECKREAD’未声明(在此函数内第一次使用)
drv_mysql.c: 在函数‘mysql_drv_fetch_row’中:
drv_mysql.c:696: 警告:隐式声明函数‘mysql_fetch_row’
drv_mysql.c:696: 警告:对‘mysql_fetch_row’的嵌套的外部声明
drv_mysql.c:696: 警告:赋值时将整数赋给指针,未作类型转换
drv_mysql.c: 在函数‘mysql_drv_store_results’中:
drv_mysql.c:723: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:723: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:724: 错误:‘MYSQL_RES’未声明(在此函数内第一次使用)
drv_mysql.c:724: 错误:‘res’未声明(在此函数内第一次使用)
drv_mysql.c:725: 错误:‘MYSQL_ROW’未声明(在此函数内第一次使用)
drv_mysql.c:725: 错误:expected ‘;’ before ‘row’
drv_mysql.c:769: 警告:隐式声明函数‘mysql_store_result’
drv_mysql.c:769: 警告:对‘mysql_store_result’的嵌套的外部声明
drv_mysql.c:775: 错误:‘ER_LOCK_DEADLOCK’未声明(在此函数内第一次使用)
drv_mysql.c:775: 错误:‘ER_LOCK_WAIT_TIMEOUT’未声明(在此函数内第一次使用)
drv_mysql.c:776: 错误:‘ER_CHECKREAD’未声明(在此函数内第一次使用)
drv_mysql.c:783: 警告:隐式声明函数‘mysql_field_count’
drv_mysql.c:783: 警告:对‘mysql_field_count’的嵌套的外部声明
drv_mysql.c:790: 警告:隐式声明函数‘mysql_num_rows’
drv_mysql.c:790: 警告:对‘mysql_num_rows’的嵌套的外部声明
drv_mysql.c:794: 错误:‘row’未声明(在此函数内第一次使用)
drv_mysql.c: 在函数‘mysql_drv_free_results’中:
drv_mysql.c:817: 警告:隐式声明函数‘mysql_free_result’
drv_mysql.c:817: 警告:对‘mysql_free_result’的嵌套的外部声明
drv_mysql.c:817: 错误:‘MYSQL_RES’未声明(在此函数内第一次使用)
drv_mysql.c:817: 错误:expected expression before ‘)’ token
drv_mysql.c: 在函数‘mysql_drv_done’中:
drv_mysql.c:851: 警告:隐式声明函数‘mysql_library_end’
drv_mysql.c:851: 警告:对‘mysql_library_end’的嵌套的外部声明
make[3]: *** [libsbmysql_a-drv_mysql.o] 错误 1
make[3]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench/drivers/mysql'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench/drivers'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench'
make: *** [all-recursive] 错误 1

报如上错误主要是lib和include目录指定的有问题。

[root@sever2 sysbench-0.4.12-1.1]#  ls /usr/local/mysql/include/mysql/mysql.h
/usr/local/mysql/include/mysql/mysql.h

重新configure指定到正确目录即可

[root@sever2 sysbench-0.4.12-1.1]# ./configure --with-mysql-includes=/usr/local/mysql/include/mysql/ --with-mysql-libs=/usr/local/mysql/lib/mysql

没有报错的话就在当前的sysbench目录下会生成一个二进制可执行文件:sysbench

[root@sever2 sysbench]# ll -rth sysbench
-rwxr-xr-x. 1 root root 3.2M 11月 21 19:27 sysbench

时间: 2024-10-22 22:06:41

linux中sysbench安装依赖包及出现的解决方法的相关文章

ruby安装gem包失败的通用解决方法_ruby专题

ruby语言升级还是比较勤快的.但是数量众多的版本使得程序库的兼容性成了大问题.有些gem表示明确不支持某个特定版本以前的ruby,而有些gem则与较高的版本不兼容.再加上gem本身也有版本,简直是乱成了一锅粥.即使使用了rvm.rbenv之类ruby版本管理工具也避免不了掉入坑中.并且时不时的一些其它环境设置也给你捣乱.所以一般使用ruby程序时,对升级ruby版本或各种gem版本都是比较慎重的,避免一时手贱掉入坑中. 当然你也不能因此就做缩头乌龟,某些情况下还是不得不升级的.比如想使用rub

Linux中Xenserver新装之后没有本地存储的解决方法

先来查看下硬盘信息 [root@xenserver-DS-Monitor01 ~]# smartctl --all /dev/sda smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0+10] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org   === START OF INFORMATION SECTION ===

Linux中如何安装内核源码包?

Linux中如何安装内核源码包? 有些时候,我们需要对系统的内核进行升级操作,我们可以使用rpm命令来完成. 下载新的iso光盘镜像文件,并挂载iso文件到光盘. 把你光盘上的内核源码包装上即可,我们使用如下命令: rpm -i *kernel*source*.rpm

linux中Zabbix安装配置图文教程

说明: 操作系统:CentOS IP地址:192.168.21.127 Web环境:Nginx+MySQL+PHP zabbix版本:Zabbix 2.2 LTS 备注:Linux下安装zabbix需要有LAMP或者LNMP运行环境   安装篇 一.创建.导入zabbix数据库 cd /usr/local/src #进入软件包下载目录 tar zxvf zabbix-2.2.6.tar.gz #解压 cd /usr/local/src/zabbix-2.2.6/database/mysql #进

Linux有问必答:Linux 中如何安装 7zip

Linux有问必答:Linux 中如何安装 7zip 问题: 我需要要从 ISO 映像中获取某些文件,为此我想要使用 7zip 程序.那么我应该如何安装 7zip 软件呢,[在 Linux 发布版本上完全安装]? 7zip 是一款开源的归档应用程序,开始是为 Windows 系统而开发的.它能对多种格式的档案文件进行打包或解包处理,除了支持其原生的 7z 格式的文档外,还支持包括 XZ.GZIP.TAR.ZIP 和 BZIP2 等这些格式. 通常,7zip 也用来解压 RAR.DEB.RPM 和

Linux中在线安装nginx环境方法(Centos/Ubuntu/Debian)

首先创建个文件 vi /etc/yum.repos.d/nginx.repo 复制下面文本,保存并退出 [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 运行以下命令进行安装 #yum install pcre  安装依赖包 #yum install nginx 后面整理了一些如/Ubuntu/Debian系统的安装包了 Red

Linux中如何安装中文输入法?

Linux中如何安装中文输入法? 以redhat8为例,xwindow及其终端下的不用说了,缺省就安装了,用ctrl-space呼出. 现在讨论纯console,请到http://sourceforge.net/projects/zhcon/下载zhcon-0.2.5.tar.gz,放在任一目录中,然后运行以下命令: tar xvfz zhcon-0.2.5.tar.gzcd zhcon-0.2.5./configuremakemake install. 安装结束后,要使用zhcon,请运行zh

linux系统下安装Maven报错如下怎么解决?

问题描述 linux系统下安装Maven报错如下怎么解决? 在使用mvn install命令时出错的

CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

有的朋友由于是centos的,直接 yum install pip  或者 yum install python-pip都是不行的. 其实不能yum那就直接下载编译安装呗... CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下: 截至包子写本文的时候,pip最新为 1.5.5 wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz 注意:wget获取http