请教下 ubuntu 下编译项目源码时, make 卡死的原因是什么?

2023-03-07 12:12:26 +08:00
 x500
昨晚上还是好好的,今天准备重编译时,就出现在 make 一直卡死了。
我把它重启了,甚至断电了再打开,还是卡住了。
我以为是磁盘空间不够了,就清理了磁盘空间,还是卡住了。

我想是不是 build 下的文件有损坏,我又与备份机上的 build 文件夹和 prebuild 文件夹进行了比较,也是一致的。

这个问题,折腾了一上午,还是没找到原因。
进行 ctrl-c 中断编译,看错误感觉象是死锁了:
2:07:22 Got signal: interrupt
12:07:22 Still alive, killing subprocesses...
^C12:07:23 Got signal: interrupt
12:07:23 Still alive, cleaning up...
12:07:23 Timed out exiting...
panic: write to panicWriter

goroutine 1978 [running]:
android/soong/ui/logger.panicWriter.Write(...)
build/soong/ui/logger/logger.go:185
log.(*Logger).Output(0xc0000be3c0, 0x3, 0xc001592080, 0x15, 0x0, 0x0)
prebuilts/go/linux-x86/src/log/log.go:172 +0x1fe
android/soong/ui/logger.(*stdLogger).Output(0xc0000a5ad0, 0x2, 0xc001592080, 0x15, 0x15, 0x7bc2a8)
build/soong/ui/logger/logger.go:223 +0x88
android/soong/ui/logger.(*stdLogger).Panicln(0xc0000a5ad0, 0xc00013e080, 0x1, 0x1)
build/soong/ui/logger/logger.go:318 +0x78
android/soong/ui/build.handleSignals.func1.1(0x7bc260, 0xc0000a5ad0, 0xc00000eca0)
build/soong/ui/build/signal.go:71 +0xa0
created by android/soong/ui/build.handleSignals.func1
build/soong/ui/build/signal.go:68 +0x112
2042 次点击
所在节点    程序员
8 条回复
ai277014717
2023-03-07 12:29:41 +08:00
可能是并发度太高了。有些工程可能不能把并发度设置的很高。
westoy
2023-03-07 12:35:26 +08:00
换个硬盘试试
pagxir
2023-03-07 14:09:32 +08:00
你这个是 Android 的,编译内存要够,尽量不要用交换分区。
calloc
2023-03-07 14:59:58 +08:00
装上 ccache 试试
LXGMAX
2023-03-07 16:21:01 +08:00
make 线程数小一些
zinwalin
2023-03-07 16:25:30 +08:00
cpu 几核? make -j 填多少
zinwalin
2023-03-07 16:25:59 +08:00
16 核的 59
adoyle
2023-03-07 16:32:49 +08:00
没有头绪时,建议删光重来,或者换个环境重来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/921855

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX