双十一没管住手,入了一台E3-1230 v2的VPS,既然买了就用吧,重新编译一次环境,把博客丢到上面。
由于听说PHP 5.4、PHP 5.5性能让人根本把持不住,小伙伴们都惊呆了,就将PHP 5.3改成了PHP 5.5。
操作系统 OS: Debian 6.0.7 32bit
编译器 Compiler: Intel Composer XE 2013 sp1 (icc 14.0.1; icpc 14.0.1)
奇怪的东西 Strange thing: Google Perftools 2.0
MariaDB 5.5.34
Memcached 1.4.15
PHP 5.5.6
Tengine 1.5.2
CFLAGS: -O2 -no-prec-div -ip -fp-model fast=1 -pipe -mtune=corei7 -march=corei7 -axAVX,SSE4.2,SSE4.1,SSSE3,SSE3,SSE2 -fPIC
CXXFLAGS: -O2 -no-prec-div -ip -fp-model fast=1 -pipe -mtune=corei7 -march=corei7 -axAVX,SSE4.2,SSE4.1,SSSE3,SSE3,SSE2 -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti
编译MariaDB的过程中出现了几个undefined reference to XXX的错误,手动检查后发现是泛型没写好,补上泛型重新编译成功。
补丁在Github:
https://gist.github.com/wdlth/7689112
然后在编译PHP的时候出现了蛋疼的Segment fault,gdb调试后发现是libcurl和Google Perftools的tcmalloc冲突,去掉tcmalloc编译成功。
编译Tengine和Memcached时没见什么错误,很顺利。
最后就是还原各类配置,WordPress 貌似也没见什么错误,先这样用着先吧。
如果上不了Github的可以看这里:
--- sql_class.cc 2013-11-28 03:39:38.000000000 -0500
+++ sql_class2.cc 2013-11-28 03:33:26.000000000 -0500
@@ -5008,17 +5008,17 @@
compiling option.
*/
template Rows_log_event*
-THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
+THD::binlog_prepare_pending_rows_event
size_t, size_t, bool,
Write_rows_log_event*);
template Rows_log_event*
-THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
+THD::binlog_prepare_pending_rows_event
size_t colcnt, size_t, bool,
Delete_rows_log_event *);
template Rows_log_event*
-THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
+THD::binlog_prepare_pending_rows_event
size_t colcnt, size_t, bool,
Update_rows_log_event *);
#endif
@@ -5165,7 +5165,7 @@
size_t const len= pack_row(table, cols, row_data, record);
Rows_log_event* const ev=
- binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
+ binlog_prepare_pending_rows_event
len, is_trans,
static_cast
@@ -5209,7 +5209,7 @@
#endif
Rows_log_event* const ev=
- binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
+ binlog_prepare_pending_rows_event
before_size + after_size, is_trans,
static_cast
@@ -5240,7 +5240,7 @@
size_t const len= pack_row(table, cols, row_data, record);
Rows_log_event* const ev=
- binlog_prepare_pending_rows_event(table, server_id, cols, colcnt,
+ binlog_prepare_pending_rows_event
len, is_trans,
static_cast