0

我正在尝试在运行 Debian for armhf 的 Cubietruck 板中编译 ArandoDB 2.2.3 由于 3rdParty V8 将无法编译并会抛出错误“#error Target architecture ia32 is only supported on ia32 host”,我决定安装 libv8-dev,所以我的系统拥有 ArangoDB 所需的所有头文件和库。如何告诉 ArangoDB 配置实用程序使用当前的 v8 头文件和 lib 文件?

./configure --disable-all-in-one-v8 --with-v8=/usr --with-v8-lib=/usr/lib --enable-all-in-one-libev --enable-all-in-one-icu

没用,出现这个错误:

...

configure: CHECKING FOR GOOGLE V8
configure: --------------------------------------------------------------------------------
checking for v8::V8::GetVersion() in -lv8_base... no
configure: error: Please install the V8 library from Google

谢谢你的帮助。

4

1 回答 1

1

我认为 v8 在不同的操作系统上有不同的版本,库也可能有不同的名称。我们的配置脚本尝试创建一个示例程序并针对 v8_base 和 v8_nosnapshot 进行链接。如果您系统上的 v8 库只是 libv8.so,那么这将不起作用。

以下解决方法应该做到这一点:

# go to where libraries are installed
cd /usr/lib 

# create symlinks to libv8.so
sudo ln -s libv8.so libv8_base.so
sudo ln -s libv8.so libv8_snapshot.so
sudo ln -s libv8.so libv8_nosnapshot.so

这可能会让你通过配置...

但是,V8 API 不断变化,没有向下兼容。因此,我认为如果您尝试针对不同版本的 v8 编译 ArangoDB,您会看到很多编译错误。这就是为什么我们决定将预期版本中的 v8 库与 ArangoDB 捆绑在一起。

于 2014-10-07T07:38:27.077 回答