Fix build failure on GCC 5.4

[?]
Sep 30, 2016, 3:05 PM
6LIYTMFU5UXNQWNZP63CXRWTN52AVOLXSHGEXMC2G3RY6L4XA45AC

Dependencies

  • [2] BYVRA54Q Temporarily disable machines on any exception, not just connection failures
  • [3] MHVIT4JY Split hydra-queue-runner.cc more
  • [4] YR2IM6Y5 Temporarily disable machines after a connection failure
  • [5] 46ADBTMQ Start steps in order of ascending build ID
  • [6] UPNGFCXG For completeness, re-implement meta.schedulingPriority
  • [7] FITVNQ2S Keep track of the time we spend copying to/from build machines
  • [8] 4I2HF4L3 Unindent
  • [9] NKQOEVVP Get rid of "will retry" messages after "maybe cancelling..."
  • [10] LE4VZIY5 More stats
  • [*] 5AIYUMTB Basic remote building

Change contents

  • edit in src/hydra-queue-runner/build-remote.cc at line 2
    [12.107]
    [12.107]
    #include <cmath>
  • replacement in src/hydra-queue-runner/build-remote.cc at line 385
    [2.9873][2.9873:9980]()
    int delta = retryInterval * powf(retryBackoff, info->consecutiveFailures - 1) + (rand() % 30);
    [2.9873]
    [2.9980]
    int delta = retryInterval * std::pow(retryBackoff, info->consecutiveFailures - 1) + (rand() % 30);
  • replacement in src/hydra-queue-runner/builder.cc at line 41
    [3.1163][3.1118:1212]()
    int delta = retryInterval * powf(retryBackoff, step_->tries - 1) + (rand() % 10);
    [3.1163]
    [3.1241]
    int delta = retryInterval * std::pow(retryBackoff, step_->tries - 1) + (rand() % 10);
  • edit in src/hydra-queue-runner/dispatcher.cc at line 2
    [3.14650]
    [3.14650]
    #include <cmath>
  • replacement in src/hydra-queue-runner/dispatcher.cc at line 123
    [3.2219][3.2219:2369]()
    float ta = roundf(a.currentJobs / a.machine->speedFactor);
    float tb = roundf(b.currentJobs / b.machine->speedFactor);
    [3.2219]
    [3.2369]
    float ta = std::round(a.currentJobs / a.machine->speedFactor);
    float tb = std::round(b.currentJobs / b.machine->speedFactor);