编译mysql SRPM

SRPM包来源

http://vault.centos.org/6.3/os/Source/SPackages/mysql-5.1.61-4.el6.src.rpm

 

原本按照标准步骤编译的,编译了很久,竟然出现报错

 

  
  
  
  
  1. # note: "make test" invokes two largely-duplicate sets of tests, 
  2. # which makes the runtime really unacceptably long ... 
  3. # if you want to change this, look at mysql-testing.patch too. 
  4. make test-ns 

 

大概意思就是编译耗时很多,还会发生意外,处理办法,注释掉mysql.spec 的一行(第297行左右)

  
  
  
  
  1. #  make test-ns 注释这一行 comment out this line 
 
为获得更好性能,编译静态链接程序,在编译参数后加入
 
 
  
  
  
  
  1. --with-mysqld-ldflags=-all-static \ 

但是官方不推荐用gcc来编译上述参数,而用icc(intel的产品)或pgcc(但pgcc在AMD CPU上有缺陷),详见:

 

7.5.4. 编译和链接怎样影响MySQL的速度

 

 

修改参数

CXX=icc 

 

另外,参数--with-client-ldflags=-all-static  跟ssl冲突,一般不选。

 

如果只想用gcc编译通过,还是不要修改spec文件的参数,注释掉make test-ns就好了。默认的编译会对CPU做优化。

 

总之,编译mysql还是比较麻烦的。

你可能感兴趣的:(mysql,SRPM)