Как настроить и скомпилировать ArangoDB с уже установленной v8

Я пытаюсь скомпилировать ArandoDB 2.2.3 на своей плате Cubietruck под управлением Debian для armhf. Поскольку 3rdParty V8 не будет компилироваться и выдаст ошибку «#error Целевая архитектура ia32 поддерживается только на хосте ia32», я решил установить 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

Спасибо за любую помощь.


person Guille Ju    schedule 07.10.2014    source источник
comment
Можете ли вы отправить мне свой config.log?   -  person fceller    schedule 07.10.2014
comment
Да, конечно! вот ссылка спасибо за помощь   -  person Guille Ju    schedule 10.10.2014


Ответы (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

Это может помочь вам пройти настройку ...

Однако API V8 постоянно меняется, но не совместим с более ранними версиями. Поэтому я думаю, что вы увидите много ошибок компиляции, если попытаетесь скомпилировать ArangoDB с другой версией v8. Вот почему мы решили связать библиотеку v8 в ожидаемой версии с ArangoDB.

person stj    schedule 07.10.2014
comment
мм не повезло: checking for v8::V8::GetVersion() in -lv8_base... yes checking V8 version... 3.8.9.20 configure: error: V8 version found is too low: 3.8.9.20. Please install V8 with version 3.16.0 or higher or use the option --enable-all-in-one-v8. Думаю, я попытаюсь скомпилировать тот, который идет с ArangoDB. Спасибо, в любом случае. - person Guille Ju; 08.10.2014