Debian 12本地编译LibreOffice

背景

发现一个LibreOffice的bug,想本地debug一下,把它解决了。

过程

根据文档一步一步进行:

Source Code | LibreOffice - Free Office Suite - Based on OpenOffice - Compatible with Microsoftsource code, git, cgit, repository, licenses, downloadhttps://www.libreoffice.org/about-us/source-code/

问题

当在本地执行make时,最后报错:

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

重试了几遍仍然如此。

原因

通过网络搜索得知,这个问题可能是由于swap太小。查看了下我的swap大小,只有1G,可能确实太小了。

解决

我的磁盘现在的分区方案是:

/

150G

swap

1G

/home

379G

因为磁盘空间够大,我打算把swap分区扩大一点,到12G。

删除现有swap

打开Debian/GNOME自带的Disks,选择磁盘,选择swap分区,删除分区,使分区变成未分配空间。

 

给新的swap划分空间

Disks里面选择/home分区,调整 Size大小,让following空间为12G,给新的swap划分空间。确认。

创建新的swap分区

选择新创建出来的12G空间,创建一个新分区,类型选择其他->swap。

把旧的swap空间合入/home

打开系统自带的GParted(如果没有,可以通过系统自带的Software程序安装),选择/home分区,调整preceding和following大小,让它们都变成0。

最终磁盘分区变成了这样:

操作分区的时候需要先把分区unmount,但是可能会遇到target busy的提示,这个时候使用如下命令查看当前是哪些程序在使用分区:

lsof /home

然后把相关的程序关闭即可。我是使用root用户操作上述所有步骤的,所以可以完全把/home unmount。

重整swap分区后,重新执行make,成功!

====================================================================

如果改完后开机时遇到如下信息:

Gave up waiting for suspend/resume device

可能是swap分区配置不对

使用 blkid 来查看分区的UUID。

检查:

/etc/fstab

分区swap信息是否正确

/etc/initramfs-tools/conf.d/resume

RESUME=UUID=41807037-ac33-455a-ab52-da22336284d1

这里面的UUID就是swap的。

修改成正常的后执行:

sudo update-initramfs -u

然后重启。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值