кросс-компиляция pocl с кросс-компилятором ARM на ПК с Ubuntu x64

Я хочу выполнить кросс-компиляцию pocl с помощью кросс-компилятора ARM на ПК с Ubuntu x64.

  • скомпилировать pocl1.4 и сгенерировать его исполняемые файлы ARM с помощью кросс-компилятора ARM, который работает на ПК с Ubuntu x64

  • автономно скомпилируйте kernel.cl и сгенерируйте его исполняемые файлы ARM с помощью poclcc, который работает на ПК с Ubuntu x64

Я пробовал следующее:

1. download llvm9, make and install to Ubuntu
 $cmake -G "Unix Makefiles" ../llvm-9.0.0.src -DCMAKE_INSTALL_PREFIX=/home/llvm -DCMAKE_BUILD_TYPE=Release
 $make -j12
 $sudo make install

2. download pocl1.4, make and install to Ubuntu
 $cmake  -DLLC_TRIPLE=aarch64-linux-gnu -DLLC_HOST_CPU=cortex-a53 -DWITH_LLVM_CONFIG=/home/llvm_ubuntu/bin/llvm-config ..
 $make
 $sudo make install

Но у меня ошибка.

/usr/bin/ld: unrecognised emulation mode: aarch64linux
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
error: linker command failed with exit code 1 (use -v to see invocation)

Есть у кого-нибудь идея решить это?

1 ответ

Копирование из документации pocl:

Теперь можно кросс-компилировать pocl на x86-64 для запуска на ARM/MIPS и т.д., но только сборку без LLVM. Есть файл ToolchainExample.cmake; скопируйте его под другим именем, затем следуйте инструкциям в файле.

ToolchainExample.cmake содержит практически все, что вам нужно знать.

Другие вопросы по тегам