简体   繁体   English

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

[英]How to configure and compile ArangoDB with already installed v8

I am trying to compile ArandoDB 2.2.3 in my Cubietruck board runing Debian for armhf Since 3rdParty V8 will not compile and will throw error "#error Target architecture ia32 is only supported on ia32 host", I decided to install libv8-dev, so my system have all the headers and libs I need for ArangoDB. 我试图在运行Debian for armhf的Cubietruck板中编译ArandoDB 2.2.3,因为3rdParty V8无法编译,并且会引发错误“ #error目标架构ia32仅在ia32主机上受支持”,因此我决定安装libv8-dev,因此我的系统具有ArangoDB所需的所有标头和库。 How do I tell ArangoDB configure utility to use the present v8 headers and lib files? 如何告诉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

did not work, got this error: 不起作用,出现此错误:

... ...

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

Thanks for any help. 谢谢你的帮助。

I think v8 is shipped in different versions on different operation systems, and the libraries may also have different names. 我认为v8在不同的操作系统上具有不同的版本,并且这些库可能也具有不同的名称。 Our configure script tries to create an example program and links against v8_base and v8_nosnapshot. 我们的configure脚本尝试创建示例程序,并针对v8_base和v8_nosnapshot进行链接。 If the v8 library on your system is just libv8.so, then this won't work. 如果您系统上的v8库只是libv8.so,则此方法将无效。

The following workaround should do it: 可以使用以下变通办法:

# 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

That might get you past the configure... 这可能会让您不喜欢配置...

However, the V8 API is constantly changing without being downwards-compatible. 但是,V8 API一直在变化,而没有向下兼容。 I therefore think that you will see lots of compile errors if you try compiling ArangoDB against a different version of v8. 因此,我认为,如果您尝试针对不同版本的v8编译ArangoDB,将会看到很多编译错误。 That's why we decided to bundle the v8 library in the expected version with ArangoDB. 这就是为什么我们决定将预期版本的v8库与ArangoDB捆绑在一起的原因。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM