吹的神乎其神的V8引擎,我就不多说啥了。
这里主要说下V8在Centos5下的编译情况,反正不是文档里面说的那轻松的事,当然如果你用的是乌班图之类的,请跳过本篇。
一:准备条件:
1:请确保你的GCC是最新的版本,官方文档建议make是3.81以上版本,GCC则为4。这点CentOS5自带的就差不多了。
2:请确保你的Python版本比2.4要高,官方文档中对Python的版本并没有做特别的要求,但在本人实际使用系统自带的Python时总是编译出错,最后无奈的换成2.7的版本后编译成功(能不能使用3我不清楚,我只能说2和3的兼容性问题可能会大过你的想象)。
二:开始工作
1:首先你得下载V8的源码,至于从svn还是git就看你自己喜好了。
2:编译V8还需要GYP的支持
你可以在V8的源码目录执行
make dependencies
系统会自动帮你下载GYP。
当然,你要是想自己下载也行
svn co http://gyp.googlecode.com/svn/trunk build/gyp
做好这些你就可以开始编译工作了。
V8有很多编译种类,具体的请看官方的文档
我这里使用的是最简单的,因为我是32位的系统,所以我使用的是如下命令:
make ia32.release
如果你是用64位的,则需要
make x64
因为我只是要用V8的so文件,所以我还加上了选项
make ia32.release library=shared
不过在最终编译的时候出现了一个错误造成编译失败
../src/heap.h: In member function ‘v8::internal::byte** v8::internal::Heap::store_buffer_top_address()’:
../src/heap.h:1314: warning: dereferencing type-punned pointer will break strict-aliasing rules
这个问题是GCC的选项问题,把它关闭就好了。
werror=no strictaliasing=off
最终的命令可能类似于
make ia32.release library=shared werror=no strictaliasing=off
剩下的就是泡杯咖啡然后慢慢等待吧。
本文相关链接:
http://code.google.com/p/v8/wiki/BuildingWithGYP
http://community.webfaction.com/questions/12188/install-v8