Как сделать кросс-сборку последней версии V8 для Raspberry Pi?

Я пытался собрать V8 для Raspberry Pi следующим образом:

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 ответ

Решение

Кросс-компиляция V8 для Raspberry Pi на Ubuntu 16.04 LTS x64.

Сначала получите кросс-компилятор и необходимые библиотеки:

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
Другие вопросы по тегам