Travis fix qt breakage #5268

pull theuni wants to merge 3 commits into bitcoin:master from theuni:travis-fix-qt-breakage changing 3 files +5 −5
  1. theuni commented at 11:11 PM on November 12, 2014: member

    For examples of the build failures, see: https://travis-ci.org/bitcoin/bitcoin/jobs/40811765 the log is here: https://s3.amazonaws.com/archive.travis-ci.org/jobs/40811765/log.txt

    This is a long chain of errors, and there are likely other changes that could be made to cope in other places along that chain.

    If depends don't build successfully, don't bother trying again for the sake of better logging. That's likely to hurt more than help. In this case, qt build failed, and on the second attempt, it appeared to be successful. However, due to a bad object from an internal gcc error on the first build, the resulting lib was unusable. This caused bitcoin-qt to not be built, and tests and packaging which expected bitcoin-qt to be there failed.

    The root cause: Mingw is especially crashy when using -jX, likely compounded by low-memory environments. I've seen multiple problems with this combo in Gitian as well.

    In this case: i686-w64-mingw32-g++: internal compiler error: Killed (program cc1plus) ... make[3]: *** [.obj/release/qdrawhelper.o] Error 4

    The workaround: Bump Travis down to using -j2 by default. Additionaly, enable --with-gui for the windows builds. This will cause configure to fail if qt is not working while also testing the config flag.

    Other failures which may be worth revisiting separately:

    • If a depends package fails, maybe remove the workdir so that it doesn't taint subsequent runs
    • See if there's anything repeatable about the ICE when building qt
  2. theuni force-pushed on Nov 13, 2014
  3. theuni commented at 2:36 AM on November 13, 2014: member

    I also added a quick change to disable the forknotify rpc test, since it was causing some failures for windows as well. The reason for failure should obviously be investigated, but the current pull requests are a sea of red. Unless there are any objections, it'd be nice if this could go in asap to spare a good bit of confusion.

  4. jonasschnelli commented at 8:48 AM on November 13, 2014: contributor

    makes sense for me. Obviously i can't test that.

    ACK

  5. theuni force-pushed on Nov 13, 2014
  6. travis: attempt to fix unlikely build issue
    This is a long chain of errors, and there are likely other changes that could
    be made to cope in other places along that chain.
    
    If depends don't build successfully, don't bother trying again for the sake of
    better logging. That's likely to hurt more than help. In this case, qt build
    failed, and on the second attempt, it appeared to be successful. However, due
    to a bad object from an internal gcc error on the first build, the resulting
    lib was unusable. This caused bitcoin-qt to not be built, and tests and
    packaging which expected bitcoin-qt to be there failed.
    
    The root cause:
    Mingw is especially crashy when using -jX, likely compounded by low-memory
    environments. I've seen multiple problems with this combo in Gitian as well.
    
    In this case:
    i686-w64-mingw32-g++: internal compiler error: Killed (program cc1plus)
    ...
    make[3]: *** [.obj/release/qdrawhelper.o] Error 4
    
    The workaround:
    Bump Travis down to using -j2 by default. Additionaly, enable --with-gui for
    the windows builds. This will cause configure to fail if qt is not working
    while also testing the config flag.
    
    Other failures which may be worth revisiting separately:
    - If a depends package fails, maybe remove the workdir so that it doesn't taint
      subsequent runs
    - See if there's anything repeatable about the ICE when building qt
    560e99636c
  7. depends: cleanup better after qt and force a bump
    qt needs to be rebuilt for travis. The previous commit should help ensure that
    this won't need to be done again.
    187739006c
  8. travis: temporarily disable the forknotify test
    It appears to be breaking randomly on Windows
    c8b115e20b
  9. theuni commented at 9:09 AM on November 13, 2014: member

    Updated to use -j2 only for mingw (i hope). It may be possible once the cache is primed to compare future build times with historical ones, to glean the time difference between -j2 and -j3.

  10. laanwj commented at 9:24 AM on November 13, 2014: member

    Ok, will merge once this passes Travis

  11. laanwj merged this on Nov 13, 2014
  12. laanwj closed this on Nov 13, 2014

  13. laanwj referenced this in commit 15bcc7055d on Nov 13, 2014
  14. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-18 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me