From b1512a152a97b7e91cf85d8a2aa0ba6c4174fe98 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 30 Sep 2016 17:05:07 +0200 Subject: [PATCH] Fix build failure on GCC 5.4 --- src/hydra-queue-runner/build-remote.cc | 3 ++- src/hydra-queue-runner/builder.cc | 2 +- src/hydra-queue-runner/dispatcher.cc | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/hydra-queue-runner/build-remote.cc b/src/hydra-queue-runner/build-remote.cc index 6a17b259..5bee35d4 100644 --- a/src/hydra-queue-runner/build-remote.cc +++ b/src/hydra-queue-runner/build-remote.cc @@ -1,4 +1,5 @@ #include +#include #include #include @@ -381,7 +382,7 @@ void State::buildRemote(ref destStore, if (info->consecutiveFailures == 0 || info->lastFailure < now - std::chrono::seconds(30)) { info->consecutiveFailures = std::min(info->consecutiveFailures + 1, (unsigned int) 4); info->lastFailure = now; - int delta = retryInterval * powf(retryBackoff, info->consecutiveFailures - 1) + (rand() % 30); + int delta = retryInterval * std::pow(retryBackoff, info->consecutiveFailures - 1) + (rand() % 30); printMsg(lvlInfo, format("will disable machine ‘%1%’ for %2%s") % machine->sshName % delta); info->disabledUntil = now + std::chrono::seconds(delta); } diff --git a/src/hydra-queue-runner/builder.cc b/src/hydra-queue-runner/builder.cc index b0e11151..3a0b9f46 100644 --- a/src/hydra-queue-runner/builder.cc +++ b/src/hydra-queue-runner/builder.cc @@ -38,7 +38,7 @@ void State::builder(MachineReservation::ptr reservation) step_->tries++; nrRetries++; if (step_->tries > maxNrRetries) maxNrRetries = step_->tries; // yeah yeah, not atomic - int delta = retryInterval * powf(retryBackoff, step_->tries - 1) + (rand() % 10); + int delta = retryInterval * std::pow(retryBackoff, step_->tries - 1) + (rand() % 10); printMsg(lvlInfo, format("will retry ‘%1%’ after %2%s") % step->drvPath % delta); step_->after = std::chrono::system_clock::now() + std::chrono::seconds(delta); } diff --git a/src/hydra-queue-runner/dispatcher.cc b/src/hydra-queue-runner/dispatcher.cc index d6d3fd0e..d636485f 100644 --- a/src/hydra-queue-runner/dispatcher.cc +++ b/src/hydra-queue-runner/dispatcher.cc @@ -1,4 +1,5 @@ #include +#include #include #include @@ -119,8 +120,8 @@ system_time State::doDispatch() sort(machinesSorted.begin(), machinesSorted.end(), [](const MachineInfo & a, const MachineInfo & b) -> bool { - float ta = roundf(a.currentJobs / a.machine->speedFactor); - float tb = roundf(b.currentJobs / b.machine->speedFactor); + float ta = std::round(a.currentJobs / a.machine->speedFactor); + float tb = std::round(b.currentJobs / b.machine->speedFactor); return ta != tb ? ta < tb : a.machine->speedFactor != b.machine->speedFactor ? a.machine->speedFactor > b.machine->speedFactor :