0

Armhf 用に Debian を実行している Cubietruck ボードで ArandoDB 2.2.3 をコンパイルしようとしています。3rdParty V8 はコンパイルされず、「#error ターゲット アーキテクチャ ia32 は ia32 ホストでのみサポートされています」というエラーがスローされるため、libv8-dev をインストールすることにしました。私のシステムには、ArangoDB に必要なすべてのヘッダーとライブラリがあります。現在の v8 ヘッダーと lib ファイルを使用するように ArangoDB 構成ユーティリティに指示するにはどうすればよいですか?

./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 に答える