前面介紹過(guò)sysbench的一個(gè)簡(jiǎn)單的例子,下面小編來(lái)為各位介紹linux中sysbench安裝依賴包及出現(xiàn)的解決方法,希望文章可以幫助到各位朋友哦.
在安裝和使用sysbench時(shí)遇到的問(wèn)題記錄下,一個(gè)是源碼安裝系統(tǒng)環(huán)境要求,需要安裝m4 autoconf automake libtool 這幾個(gè)包,通過(guò)yum install m4 autoconf automake libtool可進(jìn)行安裝.
否則會(huì)報(bào)如下錯(cuò)誤:
- [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
二是執(zhí)行autogen.sh后,進(jìn)行./configure,如果用來(lái)測(cè)試mysql的話,指定了幾個(gè)參數(shù),指定錯(cuò)了.
- –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: 錯(cuò)誤:mysql.h:沒(méi)有那個(gè)文件或目錄
- drv_mysql.c:37:26: 錯(cuò)誤:mysqld_error.h:沒(méi)有那個(gè)文件或目錄
- drv_mysql.c:43:5: 警告:“MYSQL_VERSION_ID”未定義
- drv_mysql.c:48:5: 警告:“MYSQL_VERSION_ID”未定義
- drv_mysql.c: 在函數(shù)‘mysql_drv_init’中:
- drv_mysql.c:244: 警告:隱式聲明函數(shù)‘mysql_library_init’
- drv_mysql.c:244: 警告:對(duì)‘mysql_library_init’的嵌套的外部聲明
- drv_mysql.c: 在函數(shù)‘mysql_drv_connect’中:
- drv_mysql.c:266: 錯(cuò)誤:‘MYSQL’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:266: 錯(cuò)誤:(即使在一個(gè)函數(shù)內(nèi)多次出現(xiàn),每個(gè)未聲明的標(biāo)識(shí)符在其
- drv_mysql.c:266: 錯(cuò)誤:所在的函數(shù)內(nèi)也只報(bào)告一次。)
- drv_mysql.c:266: 錯(cuò)誤:‘con’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:273: 錯(cuò)誤:expected expression before ‘)’ token
- drv_mysql.c:279: 警告:隱式聲明函數(shù)‘mysql_init’
- drv_mysql.c:279: 警告:對(duì)‘mysql_init’的嵌套的外部聲明
- drv_mysql.c:318: 警告:隱式聲明函數(shù)‘mysql_ssl_set’
- drv_mysql.c:318: 警告:對(duì)‘mysql_ssl_set’的嵌套的外部聲明
- drv_mysql.c:321: 錯(cuò)誤:‘MYSQL_VERSION_ID’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:331: 警告:隱式聲明函數(shù)‘mysql_real_connect’
- drv_mysql.c:331: 警告:對(duì)‘mysql_real_connect’的嵌套的外部聲明
- drv_mysql.c:338:5: 警告:“MYSQL_VERSION_ID”未定義
- drv_mysql.c:346: 警告:隱式聲明函數(shù)‘mysql_errno’
- drv_mysql.c:346: 警告:對(duì)‘mysql_errno’的嵌套的外部聲明
- drv_mysql.c:347: 警告:隱式聲明函數(shù)‘mysql_error’
- drv_mysql.c:347: 警告:對(duì)‘mysql_error’的嵌套的外部聲明
- drv_mysql.c: 在函數(shù)‘mysql_drv_disconnect’中:
- drv_mysql.c:361: 錯(cuò)誤:‘MYSQL’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:361: 錯(cuò)誤:‘con’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:366: 警告:隱式聲明函數(shù)‘mysql_close’
- drv_mysql.c:366: 警告:對(duì)‘mysql_close’的嵌套的外部聲明
- drv_mysql.c: 在函數(shù)‘mysql_drv_bind_param’中:
- drv_mysql.c:441: 錯(cuò)誤:‘MYSQL’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:441: 錯(cuò)誤:‘con’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:441: 錯(cuò)誤:expected expression before ‘)’ token
- drv_mysql.c: 在函數(shù)‘mysql_drv_query’中:
- drv_mysql.c:657: 錯(cuò)誤:‘MYSQL’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:657: 錯(cuò)誤:‘con’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:661: 警告:隱式聲明函數(shù)‘mysql_real_query’
- drv_mysql.c:661: 警告:對(duì)‘mysql_real_query’的嵌套的外部聲明
- drv_mysql.c:667: 錯(cuò)誤:‘ER_LOCK_DEADLOCK’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:667: 錯(cuò)誤:‘ER_LOCK_WAIT_TIMEOUT’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:668: 錯(cuò)誤:‘ER_CHECKREAD’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c: 在函數(shù)‘mysql_drv_fetch_row’中:
- drv_mysql.c:696: 警告:隱式聲明函數(shù)‘mysql_fetch_row’
- drv_mysql.c:696: 警告:對(duì)‘mysql_fetch_row’的嵌套的外部聲明
- drv_mysql.c:696: 警告:賦值時(shí)將整數(shù)賦給指針,未作類型轉(zhuǎn)換
- drv_mysql.c: 在函數(shù)‘mysql_drv_store_results’中:
- drv_mysql.c:723: 錯(cuò)誤:‘MYSQL’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:723: 錯(cuò)誤:‘con’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:724: 錯(cuò)誤:‘MYSQL_RES’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:724: 錯(cuò)誤:‘res’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:725: 錯(cuò)誤:‘MYSQL_ROW’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:725: 錯(cuò)誤:expected ‘;’ before ‘row’
- drv_mysql.c:769: 警告:隱式聲明函數(shù)‘mysql_store_result’
- drv_mysql.c:769: 警告:對(duì)‘mysql_store_result’的嵌套的外部聲明
- drv_mysql.c:775: 錯(cuò)誤:‘ER_LOCK_DEADLOCK’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:775: 錯(cuò)誤:‘ER_LOCK_WAIT_TIMEOUT’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:776: 錯(cuò)誤:‘ER_CHECKREAD’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:783: 警告:隱式聲明函數(shù)‘mysql_field_count’
- drv_mysql.c:783: 警告:對(duì)‘mysql_field_count’的嵌套的外部聲明
- drv_mysql.c:790: 警告:隱式聲明函數(shù)‘mysql_num_rows’
- drv_mysql.c:790: 警告:對(duì)‘mysql_num_rows’的嵌套的外部聲明
- drv_mysql.c:794: 錯(cuò)誤:‘row’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c: 在函數(shù)‘mysql_drv_free_results’中:
- drv_mysql.c:817: 警告:隱式聲明函數(shù)‘mysql_free_result’
- drv_mysql.c:817: 警告:對(duì)‘mysql_free_result’的嵌套的外部聲明
- drv_mysql.c:817: 錯(cuò)誤:‘MYSQL_RES’未聲明(在此函數(shù)內(nèi)第一次使用)
- drv_mysql.c:817: 錯(cuò)誤:expected expression before ‘)’ token
- drv_mysql.c: 在函數(shù)‘mysql_drv_done’中:
- drv_mysql.c:851: 警告:隱式聲明函數(shù)‘mysql_library_end’
- drv_mysql.c:851: 警告:對(duì)‘mysql_library_end’的嵌套的外部聲明
- make[3]: *** [libsbmysql_a-drv_mysql.o] 錯(cuò)誤 1
- make[3]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench/drivers/mysql'
- make[2]: *** [all-recursive] 錯(cuò)誤 1
- make[2]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench/drivers' --Vevb.com
- make[1]: *** [all-recursive] 錯(cuò)誤 1
- make[1]: Leaving directory `/home/packages/sysbench-0.4.12-1.1/sysbench'
- make: *** [all-recursive] 錯(cuò)誤 1
報(bào)如上錯(cuò)誤主要是lib和include目錄指定的有問(wèn)題.
- [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
沒(méi)有報(bào)錯(cuò)的話就在當(dāng)前的sysbench目錄下會(huì)生成一個(gè)二進(jìn)制可執(zhí)行文件:
- sysbench
- [root@sever2 sysbench]# ll -rth sysbench
- -rwxr-xr-x. 1 root root 3.2M 11月 21 19:27 sysbench
新聞熱點(diǎn)
疑難解答
圖片精選