Sysbench 安装
server ENV:
1. Solaris10
2. GCC:3.4.6
3. Mysql: 5.0.24
安装 Sysbench
1. ./configure
success
2. ./make
error info:
gcc: language strconst not recognized
gcc: drv_mysql.c: linker input file unused because linking not done
google N 次, Mysql官方网站上说, 去掉-xstrconst -mt 参数,即
gcc -DHAVE_CONFIG_H -I. -Ihttp://www.cnblogs.com/../config -I/usr/sfw/include/mysql -xstrconst -mt -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -Ihttp://www.cnblogs.com/../sysbench -D_REENTRANT -g -O2 -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
改成:
gcc -DHAVE_CONFIG_H -I. -Ihttp://www.cnblogs.com/../config -I/usr/sfw/include/mysql -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -Ihttp://www.cnblogs.com/../sysbench -D_REENTRANT -g -O2 -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
开始,我只是修改了MakeFile 文件, 把MYSQL_CFLAGS = -I/usr/sfw/include/mysql -xstrconst -mt 中的-xstrconst -mt去掉, 重新make
但在编译时,仍然带上了这个参数,试了无数次才反应过来,这个参数应该是从外面传过来的,也就是configure的时候得到这个参数, makefile中的参数都是默认值,当从sever中得到这些参数的值,就会用server自己的,不用makefile中default的了。 confiugre时得到的server的参数会写在config.status里,所以只需要将修改config.status 文件即可,make && make install 成功!
不过solaris8中make的错误信息不一样,还没找到解决方案, 但大体思路应该差不多我想。
gcc: language arch=v9 not recognized
gcc: drv_mysql.c: linker input file unused because linking not done