• Cory Fields's avatar
    travis: attempt to fix unlikely build issue · 735bb376
    Cory Fields authored
    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
    735bb376
.travis.yml 3.88 KB