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-11-01 21:09