如何使用已安装的v8配置和编译ArangoDB

时间:2014-10-07 00:21:56

标签: arangodb embedded-v8

我正在尝试在我的Cubietruck板上编译ArandoDB 2.2.3,运行Debian for armhf 由于3rdParty V8将无法编译并将抛出错误“#error目标架构ia32仅支持ia32主机”,我决定安装libv8-dev,因此我的系统具有ArangoDB所需的所有头文件和库。如何告诉ArangoDB configure实用程序使用当前的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

感谢您的帮助。

1 个答案:

答案 0 :(得分: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捆绑在一起的原因。