【问题标题】:How to install riscv32-unknown-elf-gcc on Debian-based Linuxes如何在基于 Debian 的 Linux 上安装 riscv32-unknown-elf-gcc
【发布时间】:2023-01-09 02:59:41
【问题描述】:

我使用的是 rv32ima 裸机处理器,我需要为此使用 riscv32。我一直在努力寻找合适的包组合来为它编译。我发现的最接近的是:

apt-get install gcc-multilib gcc-riscv64-unknown-elf

然后执行:

riscv64-unknown-elf-gcc -o test.elf test.c -O1 -march=rv32ima -mabi=ilp32 -nostdlib -T flatfile.lds
In file included from test.c:1:
/usr/lib/gcc/riscv64-unknown-elf/9.3.0/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory
    9 | # include_next <stdint.h>
      |                ^~~~~~~~~~

但是,它似乎没有安装适当的标头。

旁注:它似乎也不包含 rv32 libc,我真的不需要它,但它不会造成伤害。

有什么建议吗?我希望让其他人可以轻松构建/使用它。最好在 Ubuntu/Linux Mint/Debian 世界中。

【问题讨论】:

  • multilib 并没有以某种方式携带所有可能拱门的库(通常只有 x86 库用于 x86_64 上的旧应用程序)。事实上,在处理相对模糊的 archs 时,你最好的选择是 Gentoo(因此你将 portage 设置为使用交叉编译器)。设置起来有点棘手,但可以提供一致的结果。特别是对于 Debian,我认为他们对 riscv32 根本不感兴趣。

标签: c linux gcc riscv riscv32


【解决方案1】:

您可以按照https://github.com/riscv-collab/riscv-gnu-toolchain 中的说明进行安装。总而言之,该过程类似于

git clone https://github.com/riscv/riscv-gnu-toolchain
sudo apt-get install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build
./configure --prefix=/opt/riscv --with-arch=rv32gc --with-abi=ilp32d
make linux

然后将/opt/riscv/bin 添加到您的PATH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    相关资源
    最近更新 更多