【问题标题】:Google V8 Javascript Engine, Ubuntu and PHP - how to get it built and working?Google V8 Javascript 引擎、Ubuntu 和 PHP - 如何构建和工作?
【发布时间】:2013-02-07 15:10:42
【问题描述】:

这里将不胜感激。

我正在运行 Ubuntu 10.04,我想在 PHP 中使用 V8 Javacript engine。有没有人设法做到这一点?

所以我从软件中心安装了libv8-2.0.3libv8-dbglibv8-dev。然后我尝试了: sudo pecl install v8js-0.1.2。这失败了,因为(我认为)这个:

/tmp/pear/temp/v8js/v8js.cc:220: error: no matching function for call to ‘v8::Array::Get(unsigned int&)’

/tmp/pear/temp/v8js/v8js.cc:438: error: ‘ContextDisposedNotification’ is not a member of ‘v8::V8’

我猜是因为libv8的打包版本太旧了?

我检查了 SVN 源 (svn co @987654322@ v8) 并使用 scons 构建它,虽然它看起来成功完成 (ranlib libv8.a; scons: done building targets.),但我不知道如何处理已生成的内容(和构建了哪些文件 - 似乎只在 obj/release/ 中构建了 .o 文件。

我对自己需要做什么感到困惑和困惑。请帮忙!

【问题讨论】:

  • 你绝对不应该使用trunk,而是尝试旧版本的v8-dev,也许是v8js pecl绑定。后者给了我一个依赖错误(ubuntu 捆绑 5.3.2,但 v8js 需要 5.3.3 - 不确定这是否是一个合理的要求)。
  • 谢谢@mario,我确实是从将 PHP 升级到 5.3.5 开始的。 v8js pecl 绑定是否与我尝试使用的不同:sudo pecl install v8js-0.1.2。我可以尝试一个旧版本,但是仍然有一个问题,一旦 scons 构建了 libv8,我该如何安装它,以便我可以安装 v8js pecl 扩展?
  • @马克。我现在也试过了,失败了。我使用了 v8 svn branch/2.5,构建正常。然后在 v8js pecl 目录下使用phpize。编译成功,但链接没有。不知道如何处理relocation R_X86_64_32S against 'vtable for v8::ScriptData' can not be used when making a shared object; recompile with -fPIC。也许试试 v8-svn 3.0 分支?
  • 你是怎么搭建v8 svn分支的,你用过scons吗?我不确定构建它的最佳方法是什么,因为我对 build/README.txt 中所述的方法有问题,尽管那是主干版本。我现在正在尝试使用 3.0 分支...
  • 我在 debian 中安装了:aptitude install php5-dev php-pear; pecl 安装 v8js-0.1.2

标签: php javascript ubuntu v8


【解决方案1】:

我使用的是 10.04 Ubuntu,升级 gcc 并安装最新版本的 libv8 后,我可以安装 v8js-0.1.3。

【讨论】:

    猜你喜欢
    • 2020-04-06
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 2011-08-11
    • 2013-01-02
    • 2020-08-14
    相关资源
    最近更新 更多