V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
x500
V2EX  ›  程序员

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

  •  
  •   x500 · 2023-03-07 12:12:26 +08:00 · 2016 次点击
    这是一个创建于 613 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨晚上还是好好的,今天准备重编译时,就出现在 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
    第 1 条附言  ·  2023-03-07 16:21:00 +08:00
    原因找到了,真是服了,是我昨天编译一个模块时,切换到了 ROOT 用户,后来忘记修改权限了,导致切换回来,make 就卡住了
    有时遇到这个小问题,真的上头。。。
    第 2 条附言  ·  2023-03-07 16:22:30 +08:00
    按理来说比较文件可以看得出来,但 bc 好象只比较内容,没比较文件属性
    8 条回复    2023-03-07 16:32:49 +08:00
    ai277014717
        1
    ai277014717  
       2023-03-07 12:29:41 +08:00
    可能是并发度太高了。有些工程可能不能把并发度设置的很高。
    westoy
        2
    westoy  
       2023-03-07 12:35:26 +08:00
    换个硬盘试试
    pagxir
        3
    pagxir  
       2023-03-07 14:09:32 +08:00 via Android
    你这个是 Android 的,编译内存要够,尽量不要用交换分区。
    calloc
        4
    calloc  
       2023-03-07 14:59:58 +08:00 via iPhone
    装上 ccache 试试
    LXGMAX
        5
    LXGMAX  
       2023-03-07 16:21:01 +08:00
    make 线程数小一些
    zinwalin
        6
    zinwalin  
       2023-03-07 16:25:30 +08:00 via Android
    cpu 几核? make -j 填多少
    zinwalin
        7
    zinwalin  
       2023-03-07 16:25:59 +08:00 via Android
    16 核的 59
    adoyle
        8
    adoyle  
       2023-03-07 16:32:49 +08:00   ❤️ 1
    没有头绪时,建议删光重来,或者换个环境重来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1765 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:38 · PVG 00:38 · LAX 08:38 · JFK 11:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.