riscv gcc 安装

环境准备

一个两种方法,都是可以的,官方库可能麻烦点有的包需要手动下载放入

github的官方库

git clone https://github.com/riscv/riscv-gnu-toolchain
cd riscv-gnu-toolchain
sudo apt-get install autoconf automake autotools-dev curl python3 python3-pip libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev libslirp-dev

注释

  • 如果apt-get install 过程中报perlapi的版本问题,可以在这里下载https://pkgs.org/download/perlapi-5.30.0,如果版本高于5.30(我的是5.34),结果暂时未知
  • apt-get install 的包中一定要检查texinfo装了没有,执行命令apt list | grep texinfo,如果没有则在make的时候会报错
    [Makefile:1788: doc/bfd.info] Error 127
    这就需要安装texinfo -> texinfo安装

gitee的镜像库 (推荐)

git clone https://gitee.com/mirrors/riscv-gnu-toolchain.git
cd riscv-gnu-toolchain
git submodule update --init --recursive
sudo apt-get install autoconf automake autotools-dev curl python3 python3-pip libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev libslirp-dev

编译安装

手动编译

无论是通过github的源还是gitee的源,都是这个安装步骤

不知道为什么直接make不会安装gcc和glibc等等,需要手动再次make check(好像甚至需要make check第二次,不确定)
XXX为存放路径,不然该值默认为 /usr/local,建议填入
–with-arch: 编译的riscv指令集,不填默认是rv64im…
–with-abi: 目标ABI,和指令集相关
这个建议查阅https://github.com/riscv/riscv-gnu-toolchain的README
也可以查阅https://www.cnblogs.com/wzx19970918/p/15729044.html

sudo make clean
./configure --prefix=XXX --with-arch=rv32im --with-abi=ilp32
sudo make -j4
sudo make check-gcc j4
sudo make check-newlib -j4

py编译脚本

该脚本有预设的几个配置,也可自行配置。编译完成后也会自动进行编译结果的确认,包括库文件和编译测试
获取链接http://ppt.odjvnrij.cn/download/script/install.py
链接可能掉,掉了再说
复制到riscv-gnu-toolchains目录下

sudo python3 install.py

编译结果确认

去你的XXX/bin/riscv32-unknown-elf-gcc目录下,检查是否齐全


texinfo安装

使用的镜像中可能有雨perlapi-5.34 > perlapi-5.30版本问题无法通过apt-get install texinfo安装
这是需要手动编译安装
这里我的perlapi版本是5.34, 选择了texinfo-7.1

wget https://ftp.gnu.org/gnu/texinfo/texinfo-7.1.tar.gz
tar zxvf  texinfo-7.1.tar.gz
sudo ./configure --prefix=/usr/local
sudo make && sudo make install

安装完后再通过apt list | grep texinfo检查是否安装完毕

参考
https://blog.csdn.net/qq_49323609/article/details/124668225

作者:odjvnrij  创建时间:2024-09-23 17:14
最后编辑:odjvnrij  更新时间:2024-11-01 21:09