写点什么

Linux Lab 编译 riscv-gnu-toolchain

作者:贾献华
  • 2022 年 8 月 02 日
  • 本文字数:1153 字

    阅读完需:约 4 分钟

下载 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
复制代码

Installation (Newlib/Linux multilib)

./configure --prefix=/opt/riscv --enable-multilib
复制代码

报错:

configure: error: building out of tree but .././riscv-gcc contains host-x86_64-pc-linux-gnu. Use a pristine source tree when building in a separate tree make: *** [Makefile:376: stamps/build-gcc-linux-stage1] Error 1
复制代码

删除 host gcc 文件夹

rm -rf riscv-gcc/host-x86_64-pc-linux-gnu/
复制代码

c++: fatal error: Killed signal terminated program cc1plus

内存或者 swap 不够了。

VirtualBox 加大内存,还是报同样的错误。

需要创建 swap 分区。

# 创建 swap 子卷ubuntu@linux-lab-host:~$ sudo btrfs subvolume create swapCreate subvolume './swap'# 在 swap 子卷下创建一个 0 byte 大小的交换文件ubuntu@linux-lab-host:~$ cd swapubuntu@linux-lab-host:~/swap$ sudo truncate -s 0 swapfile# 配置交换文件权限ubuntu@linux-lab-host:~/swap$ sudo chmod 600 swapfile # 配置交换文件属性,具有 'C' 属性集的文件将不受 copy-on-write 的约束。# 注意:对于 btrfs,“C” 标志应该是设置新的或空文件。ubuntu@linux-lab-host:~/swap$ sudo chattr +C swapfile # 查看属性ubuntu@linux-lab-host:~/swap$ sudo lsattr swapfile ---------------C---- swapfile# 配置 btrfs 禁止压缩交换文件ubuntu@linux-lab-host:~/swap$ sudo btrfs property set swapfile compression none# 将交换文件填充至需要的大小ubuntu@linux-lab-host:~/swap$ sudo dd if=/dev/zero of=swapfile bs=1M count=40964096+0 records in4096+0 records out4294967296 bytes (4.3 GB, 4.0 GiB) copied, 124.392 s, 34.5 MB/s# 格式化交换文件ubuntu@linux-lab-host:~/swap$ sudo mkswap swapfile Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)no label, UUID=25fb1ade-d14b-4d92-9fd7-11566e65f99e# 启用交换文件ubuntu@linux-lab-host:~/swap$ sudo swapon swapfile# 查看 swap 空间ubuntu@linux-lab-host:~/swap$ free              total        used        free      shared  buff/cache   availableMem:        5008732     2248196      113516       90904     2647020     2424796Swap:       4194300           0     4194300ubuntu@linux-lab-host:~/swap$ ubuntu@linux-lab-host:~/swap$ ubuntu@linux-lab-host:~/swap$ 
复制代码



用户头像

贾献华

关注

及时当勉励 岁月不待人 2018.06.04 加入

https://2022.iosdevlog.com

评论

发布
暂无评论
Linux Lab 编译 riscv-gnu-toolchain_8月月更_贾献华_InfoQ写作社区