如何为Raspberry Pi交叉构建最新版本的V8?

时间:2016-06-17 20:28:40

标签: v8 cross-build

我一直试图为Raspberry Pi构建V8,如下所示:

sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf g++-multilib-arm-linux-gnueabihf
cd ~/
mkdir ~/build/
cd ~/build/
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=~/build/depot_tools:"$PATH"
fetch v8
cd v8
make arm.release snapshot=off arm_version=6 armfpu=vfp

然而,由于许多不同的原因,它不会编译。我做错了什么?

1 个答案:

答案 0 :(得分:0)

在Ubuntu 16.04 LTS x64上为Raspberry Pi交叉编译V8。

首先获取交叉编译器和必要的库:

sudo apt-get install gcc-4.9-arm-linux-gnueabihf g++-4.9-arm-linux-gnueabihf g++-4.9-multilib-arm-linux-gnueabihf libc6-armhf-cross

然后获取软件仓库工具,它将检索V8。

cd ~/
mkdir ~/build/
cd ~/build/
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

接下来设置库工具的路径并检索最新版本的V8。

export PATH=~/build/depot_tools:"$PATH"
fetch v8

现在让我们准备用于构建的交叉构建脚本。

cd v8/tools
nano ./cross_build_gcc.sh

将-4.9添加到CXX,CC,LD和LINK的末尾。所以看起来应该是这样的:

export CXX=$1g++-4.9
export AR=$1ar
export RANLIB=$1ranlib
export CC=$1gcc-4.9
export LD=$1g++-4.9
export LINK=$1g++-4.9

保存并退出。

现在我们必须为编译时找到的标题创建asm-generic的链接。

cd ..
ln -s /usr/include/asm-generic /usr/include/asm

现在我们可以开始编译了。

./tools/cross_build_gcc.sh /usr/bin/arm-linux-gnueabihf- arm.release arm_version=6 armfpu=vfp armfloatabi=hard