首页 > 系统 > Linux > 正文

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

2024-08-27 23:58:41
字体:
来源:转载
供稿:网友

前面介绍过sysbench的一个简单的例子,下面小编来为各位介绍linux中sysbench安装依赖包及出现的解决方法,希望文章可以帮助到各位朋友哦.

在安装和使用sysbench时遇到的问题记录下,一个是源码安装系统环境要求,需要安装m4  autoconf  automake libtool 这几个包,通过yum install m4  autoconf  automake libtool可进行安装.

否则会报如下错误:

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

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

  1. –with-mysql-includes  和 –with-mysql-libs 
  2. [root@sever2 sysbench-0.4.12-1.1]# ./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib 
  3. 。。。。。略 
  4. [root@sever2 sysbench-0.4.12-1.1]#  make 
  5. make[3]: Entering directory `/home/packages/sysbench-0.4.12-1.1/sysbench/drivers/mysql' 
  6. 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 
  7. drv_mysql.c:36:19: 错误:mysql.h:没有那个文件或目录 
  8. drv_mysql.c:37:26: 错误:mysqld_error.h:没有那个文件或目录 
  9. drv_mysql.c:43:5: 警告:“MYSQL_VERSION_ID”未定义 
  10. drv_mysql.c:48:5: 警告:“MYSQL_VERSION_ID”未定义 
  11. drv_mysql.c: 在函数‘mysql_drv_init’中: 
  12. drv_mysql.c:244: 警告:隐式声明函数‘mysql_library_init’ 
  13. drv_mysql.c:244: 警告:对‘mysql_library_init’的嵌套的外部声明 
  14. drv_mysql.c: 在函数‘mysql_drv_connect’中: 
  15. drv_mysql.c:266: 错误:‘MYSQL’未声明(在此函数内第一次使用) 
  16. drv_mysql.c:266: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其 
  17. drv_mysql.c:266: 错误:所在的函数内也只报告一次。) 
  18. drv_mysql.c:266: 错误:‘con’未声明(在此函数内第一次使用) 
  19. drv_mysql.c:273: 错误:expected expression before ‘)’ token 
  20. drv_mysql.c:279: 警告:隐式声明函数‘mysql_init’ 
  21. drv_mysql.c:279: 警告:对‘mysql_init’的嵌套的外部声明 
  22. drv_mysql.c:318: 警告:隐式声明函数‘mysql_ssl_set’ 
  23. drv_mysql.c:318: 警告:对‘mysql_ssl_set’的嵌套的外部声明 
  24. drv_mysql.c:321: 错误:‘MYSQL_VERSION_ID’未声明(在此函数内第一次使用) 
  25. drv_mysql.c:331: 警告:隐式声明函数‘mysql_real_connect’ 
  26. drv_mysql.c:331: 警告:对‘mysql_real_connect’的嵌套的外部声明 
  27. drv_mysql.c:338:5: 警告:“MYSQL_VERSION_ID”未定义 
  28. drv_mysql.c:346: 警告:隐式声明函数‘mysql_errno’ 
  29. drv_mysql.c:346: 警告:对‘mysql_errno’的嵌套的外部声明 
  30. drv_mysql.c:347: 警告:隐式声明函数‘mysql_error’ 
  31. drv_mysql.c:347: 警告:对‘mysql_error’的嵌套的外部声明 
  32. drv_mysql.c: 在函数‘mysql_drv_disconnect’中: 
  33. drv_mysql.c:361: 错误:‘MYSQL’未声明(在此函数内第一次使用) 
  34. drv_mysql.c:361: 错误:‘con’未声明(在此函数内第一次使用) 
  35. drv_mysql.c:366: 警告:隐式声明函数‘mysql_close’ 
  36. drv_mysql.c:366: 警告:对‘mysql_close’的嵌套的外部声明 
  37. drv_mysql.c: 在函数‘mysql_drv_bind_param’中: 
  38. drv_mysql.c:441: 错误:‘MYSQL’未声明(在此函数内第一次使用) 
  39. drv_mysql.c:441: 错误:‘con’未声明(在此函数内第一次使用) 
  40. drv_mysql.c:441: 错误:expected expression before ‘)’ token 
  41. drv_mysql.c: 在函数‘mysql_drv_query’中: 
  42. drv_mysql.c:657: 错误:‘MYSQL’未声明(在此函数内第一次使用) 
  43. drv_mysql.c:657: 错误:‘con’未声明(在此函数内第一次使用) 
  44. drv_mysql.c:661: 警告:隐式声明函数‘mysql_real_query’ 
  45. drv_mysql.c:661: 警告:对‘mysql_real_query’的嵌套的外部声明 
  46. drv_mysql.c:667: 错误:‘ER_LOCK_DEADLOCK’未声明(在此函数内第一次使用) 
  47. drv_mysql.c:667: 错误:‘ER_LOCK_WAIT_TIMEOUT’未声明(在此函数内第一次使用) 
  48. drv_mysql.c:668: 错误:‘ER_CHECKREAD’未声明(在此函数内第一次使用) 
  49. drv_mysql.c: 在函数‘mysql_drv_fetch_row’中: 
  50. drv_mysql.c:696: 警告:隐式声明函数‘mysql_fetch_row’ 
  51. drv_mysql.c:696: 警告:对‘mysql_fetch_row’的嵌套的外部声明 
  52. drv_mysql.c:696: 警告:赋值时将整数赋给指针,未作类型转换 
  53. drv_mysql.c: 在函数‘mysql_drv_store_results’中: 
  54. drv_mysql.c:723: 错误:‘MYSQL’未声明(在此函数内第一次使用) 
  55. drv_mysql.c:723: 错误:‘con’未声明(在此函数内第一次使用) 
  56. drv_mysql.c:724: 错误:‘MYSQL_RES’未声明(在此函数内第一次使用) 
  57. drv_mysql.c:724: 错误:‘res’未声明(在此函数内第一次使用) 
  58. drv_mysql.c:725: 错误:‘MYSQL_ROW’未声明(在此函数内第一次使用) 
  59. drv_mysql.c:725: 错误:expected ‘;’ before ‘row’ 
  60. drv_mysql.c:769: 警告:隐式声明函数‘mysql_store_result’ 
  61. drv_mysql.c:769: 警告:对‘mysql_store_result’的嵌套的外部声明 
  62. drv_mysql.c:775: 错误:‘ER_LOCK_DEADLOCK’未声明(在此函数内第一次使用) 
  63. drv_mysql.c:775: 错误:‘ER_LOCK_WAIT_TIMEOUT’未声明(在此函数内第一次使用) 
  64. drv_mysql.c:776: 错误:‘ER_CHECKREAD’未声明(在此函数内第一次使用) 
  65. drv_mysql.c:783: 警告:隐式声明函数‘mysql_field_count’ 
  66. drv_mysql.c:783: 警告:对‘mysql_field_count’的嵌套的外部声明 
  67. drv_mysql.c:790: 警告:隐式声明函数‘mysql_num_rows’ 
  68. drv_mysql.c:790: 警告:对‘mysql_num_rows’的嵌套的外部声明 
  69. drv_mysql.c:794: 错误:‘row’未声明(在此函数内第一次使用) 
  70. drv_mysql.c: 在函数‘mysql_drv_free_results’中: 
  71. drv_mysql.c:817: 警告:隐式声明函数‘mysql_free_result’ 
  72. drv_mysql.c:817: 警告:对‘mysql_free_result’的嵌套的外部声明 
  73. drv_mysql.c:817: 错误:‘MYSQL_RES’未声明(在此函数内第一次使用) 
  74. drv_mysql.c:817: 错误:expected expression before ‘)’ token 
  75. drv_mysql.c: 在函数‘mysql_drv_done’中: 
  76. drv_mysql.c:851: 警告:隐式声明函数‘mysql_library_end’ 
  77. drv_mysql.c:851: 警告:对‘mysql_library_end’的嵌套的外部声明 
  78. make[3]: *** [libsbmysql_a-drv_mysql.o] 错误 1 
  79. make[3]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench/drivers/mysql' 
  80. make[2]: *** [all-recursive] 错误 1 
  81. make[2]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench/drivers' --Vevb.com 
  82. make[1]: *** [all-recursive] 错误 1 
  83. make[1]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench' 
  84. make: *** [all-recursive] 错误 1 

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

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

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

  1. [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目录下会生成一个二进制可执行文件:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表