sgissb1
V2EX  ›  问与答

make -jN, make -j 都容易异常啊,不得不回归 make

  •  
  •   sgissb1 · Jul 3, 2020 · 2029 views
    This topic created in 2321 days ago, the information mentioned may be changed or developed.
    最近在编译一些代码时,发现很容易出现多个 job 编出来的库或可执行文件会有奇奇怪怪的问题。就算先 make clean 也不行。
    而老老实实的 make 就没有这个问题。

    生产、编译环境又很老( 2014 年的 linux 开发、编译环境),所以没法升级。真心坑,这样下去,快要进入庄家模式了。。。。。
    5 replies  •  2020-07-03 21:12:33 +08:00
    codehz
    codehz
    Jul 3, 2020 via Android
    1
    这种多半是 makefile 没写对,依赖了某些副作用但是又没告诉 gnu make
    (举例:一条命令生成多个目标,但是只指定了其中一个
    optional
    optional
    Jul 3, 2020
    2
    make clean 才会出问题啊,第一遍 make,然后增量用 make -j 不容易出问题
    CheekiBreeki
    CheekiBreeki
    Jul 3, 2020 via Android
    3
    @optional make clean 我都重新 clone .....
    GeruzoniAnsasu
    GeruzoniAnsasu
    Jul 3, 2020
    4
    通常是因为 makefile 的依赖没写好导致并行编译了互有依赖的过程

    比如本来 A 依赖 B 编译时自动生成的配置,B 没编译时用占位数据来代替,这样就并行就会编译出不正常的 A
    bitdepth
    bitdepth
    Jul 3, 2020 via iPad
    5
    改用 ninja 吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4868 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 02:35 · PVG 10:35 · LAX 18:35 · JFK 21:35
    ♥ Do have faith in what you're doing.