如何使用 LLVM 和 GCC 工具链在 x86 Ubuntu 22.04.2 上交叉编译用于 RISC-V 的 TVM?

问题描述 投票:0回答:1

如何在 x86 Ubuntu 22.04.2 上将 TVM 交叉编译为 RISCV?

我想在 x86 Ubuntu 22.04.2 上交叉编译用于 RISC-V 的 TVM。

环境:

TVM版本:0.13.0-dev0

LLVM:sudo apt install llvm,版本:14.0.0

RISC-V 的 GNU 工具链:sudo apt-get install gcc-riscv64-linux-gnu,版本:11.3.0

我关闭了 config.cmake 文件中的“use_libbacktrace”选项,并禁用了 CMakeLists.txt 文件中的“USE_ALTERNATIVE_LINKER”选项。

RISC-V 的 TVM 交叉编译

cmake .. \
    -DCMAKE_SYSTEM_NAME=Linux \
    -DCMAKE_SYSTEM_VERSION=1 \
    -DCMAKE_C_COMPILER=/usr/bin/riscv64-linux-gnu-gcc \
    -DCMAKE_CXX_COMPILER=/usr/bin/riscv64-linux-gnu-g++ \
    -DCMAKE_FIND_ROOT_PATH=/usr/riscv64-linux-gnu \
    -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
    -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
    -DMACHINE_NAME=riscv64-linux-gnu

make -j$(nproc)

然后我遇到了以下错误:

/usr/lib/gcc-cross/riscv64-linux-gnu/11/../../../../riscv64-linux-gnu/bin/ld: /usr/lib/llvm-14/lib/libLLVM-14.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/tvm.dir/build.make:1448: libtvm.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:253: CMakeFiles/tvm.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

谢谢!

gcc llvm riscv tvm apache-tvm
1个回答
0
投票

我也有同样的问题。怎么解决?

© www.soinside.com 2019 - 2024. All rights reserved.