wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm

安装bzr客户端

# yum clean all
# yum install bzr
Dependencies Resolved ======================================================================================================================================================================== Package                                      Arch                                Version                                       Repository                         Size========================================================================================================================================================================Installing: bzr                                          i386                                2.1.4-2.el5                                   epel                              7.6 MInstalling for dependencies: python-crypto                                i386                                2.0.1-5.el5                                   epel                              188 k python-paramiko                              noarch                              1.7.6-1.el5                                   epel                              987 k python-pycurl                                i386                                7.15.5.1-8.el5                                base                               72 k Transaction Summary========================================================================================================================================================================Install      4 Package(s)        Update       0 Package(s)        Remove       0 Package(s)         Total download size: 8.8 MIs this ok [y/N]: yDownloading Packages:(1/4): python-pycurl-7.15.5.1-8.el5.i386.rpm                                                                                                     |  72 kB     00:00    (2/4): python-crypto-2.0.1-5.el5.i386.rpm                                                                                                        | 188 kB     00:01    (3/4): python-paramiko-1.7.6-1.el5.noarch.rpm                                                                                                    | 987 kB     00:02    (4/4): bzr-2.1.4-2.el5.i386.rpm                                                                                                                  | 7.6 MB     00:28    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------Total                                                                                                                                   275 kB/s | 8.8 MB     00:32    warning: rpmts_HdrFromFdno: Header V4 DSA signature: NOKEY, key ID 217521f6epel/gpgkey                                                                                                                                      | 1.7 kB     00:00    Importing GPG key 0x217521F6 "Fedora EPEL 
" from /etc/pki/rpm-gpg/RPM-GPG-KEY-EPELIs this ok [y/N]: yRunning rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction  Installing     : python-pycurl                                                                                                                                    1/4  Installing     : python-crypto                                                                                                                                    2/4  Installing     : python-paramiko                                                                                                                                  3/4  Installing     : bzr                                                                                                                                              4/4 Installed:  bzr.i386 0:2.1.4-2.el5                                                                                                                                                Dependency Installed:  python-crypto.i386 0:2.0.1-5.el5                     python-paramiko.noarch 0:1.7.6-1.el5                     python-pycurl.i386 0:7.15.5.1-8.el5                      Complete!

使用bzr下载tpcc-mysql源码    

bzr branch lp:~percona-dev/perconatools/tpcc-mysql
cd /tmp/tpcc-mysql/src
make

安装完成

报错处理

make

cc -w -O2 -g -I. `mysql_config --include`  -c load.c

/bin/sh: mysql_config: command not found

load.c:18:19: error: mysql.h: No such file or directory

In file included from load.c:20:

spt_proc.h:1: error: expected ‘)’ before ‘*’ token

load.c:26: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token

load.c:27: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token

load.c:49: error: expected ‘)’ before ‘*’ token

load.c: In function ‘main’:

load.c:80: error: ‘MYSQL’ undeclared (first use in this function)

load.c:80: error: (Each undeclared identifier is reported only once

load.c:80: error: for each function it appears in.)

load.c:80: error: ‘resp’ undeclared (first use in this function)

load.c:183: error: ‘mysql’ undeclared (first use in this function)

load.c:203: error: ‘stmt’ undeclared (first use in this function)

load.c: In function ‘LoadItems’:

load.c:312: error: ‘MYSQL_BIND’ undeclared (first use in this function)

load.c:312: error: expected ‘;’ before ‘param’

load.c:366: error: ‘param’ undeclared (first use in this function)

load.c:367: error: ‘MYSQL_TYPE_LONG’ undeclared (first use in this function)

load.c:371: error: ‘MYSQL_TYPE_STRING’ undeclared (first use in this function)

load.c:374: error: ‘MYSQL_TYPE_FLOAT’ undeclared (first use in this function)

load.c:379: error: ‘stmt’ undeclared (first use in this function)

load.c:397: error: ‘mysql’ undeclared (first use in this function)

load.c: In function ‘LoadWare’:

load.c:428: error: ‘MYSQL_BIND’ undeclared (first use in this function)

load.c:428: error: expected ‘;’ before ‘param’

load.c:459: error: ‘param’ undeclared (first use in this function)

load.c:460: error: ‘MYSQL_TYPE_LONG’ undeclared (first use in this function)

load.c:462: error: ‘MYSQL_TYPE_STRING’ undeclared (first use in this function)

load.c:480: error: ‘MYSQL_TYPE_FLOAT’ undeclared (first use in this function)

load.c:484: error: ‘stmt’ undeclared (first use in this function)

load.c:492: error: ‘mysql’ undeclared (first use in this function)

load.c: In function ‘LoadCust’:

load.c:521: error: ‘mysql’ undeclared (first use in this function)

load.c: In function ‘LoadOrd’:

load.c:550: error: ‘mysql’ undeclared (first use in this function)

load.c: In function ‘Stock’:

load.c:590: error: ‘MYSQL_BIND’ undeclared (first use in this function)

load.c:590: error: expected ‘;’ before ‘param’

load.c:644: error: ‘param’ undeclared (first use in this function)

load.c:645: error: ‘MYSQL_TYPE_LONG’ undeclared (first use in this function)

load.c:651: error: ‘MYSQL_TYPE_STRING’ undeclared (first use in this function)

load.c:684: error: ‘stmt’ undeclared (first use in this function)

load.c: In function ‘District’:

load.c:732: error: ‘MYSQL_BIND’ undeclared (first use in this function)

load.c:732: error: expected ‘;’ before ‘param’

load.c:756: error: ‘param’ undeclared (first use in this function)

load.c:757: error: ‘MYSQL_TYPE_LONG’ undeclared (first use in this function)

load.c:761: error: ‘MYSQL_TYPE_STRING’ undeclared (first use in this function)

load.c:779: error: ‘MYSQL_TYPE_FLOAT’ undeclared (first use in this function)

load.c:785: error: ‘stmt’ undeclared (first use in this function)

load.c: In function ‘Customer’:

load.c:838: error: ‘MYSQL_BIND’ undeclared (first use in this function)

load.c:838: error: expected ‘;’ before ‘param’

load.c:892: error: ‘param’ undeclared (first use in this function)

load.c:893: error: ‘MYSQL_TYPE_LONG’ undeclared (first use in this function)

load.c:899: error: ‘MYSQL_TYPE_STRING’ undeclared (first use in this function)

load.c:934: error: ‘MYSQL_TYPE_FLOAT’ undeclared (first use in this function)

load.c:941: error: ‘stmt’ undeclared (first use in this function)

load.c:987: error: ‘mysql’ undeclared (first use in this function)

load.c: In function ‘Orders’:

load.c:1024: error: ‘MYSQL_BIND’ undeclared (first use in this function)

load.c:1024: error: expected ‘;’ before ‘param’

load.c:1051: error: ‘param’ undeclared (first use in this function)

load.c:1052: error: ‘MYSQL_TYPE_LONG’ undeclared (first use in this function)

load.c:1060: error: ‘MYSQL_TYPE_STRING’ undeclared (first use in this function)

load.c:1065: error: ‘stmt’ undeclared (first use in this function)

load.c:1148: error: ‘MYSQL_TYPE_FLOAT’ undeclared (first use in this function)

load.c:1205: error: ‘mysql’ undeclared (first use in this function)

load.c: In function ‘Error’:

load.c:1242: error: expected declaration specifiers before ‘MYSQL_STMT’

load.c:1248: error: ‘mysql’ undeclared (first use in this function)

make: *** [load.o] Error 1

 

解决方法

vim /etc/profile

在末行加入 

#set mysql_home and tpccexport MYSQL_HOME=/usr/local/mysql/export C_INLUDE_PATH=$MYSQL_HOME/includeexport LD_LIBRARY_PATH=$MYSQL_HOME/libexport PATH=$MYSQL_HOME/bin:$PATH

保存退出

source /etc/profile
make

cc load.o support.o `mysql_config --libs_r` -lrt -o ../tpcc_load

cc -w -O2 -g -I. `mysql_config --include`  -c main.c

cc -w -O2 -g -I. `mysql_config --include`  -c spt_proc.c

cc -w -O2 -g -I. `mysql_config --include`  -c driver.c

cc -w -O2 -g -I. `mysql_config --include`  -c sequence.c

cc -w -O2 -g -I. `mysql_config --include`  -c rthist.c

cc -w -O2 -g -I. `mysql_config --include`  -c neword.c

cc -w -O2 -g -I. `mysql_config --include`  -c payment.c

cc -w -O2 -g -I. `mysql_config --include`  -c ordstat.c

cc -w -O2 -g -I. `mysql_config --include`  -c delivery.c

cc -w -O2 -g -I. `mysql_config --include`  -c slev.c

cc main.o spt_proc.o driver.o support.o sequence.o rthist.o neword.o payment.o ordstat.o delivery.o slev.o `mysql_config --libs_r` -lrt -o ../tpcc_start