diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-01-21T14·30+0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-01-21T14·30+0100 |
commit | 81628a6ccc6ce496735b22492bee15c9ad46f072 (patch) | |
tree | d1ec18b84514d2f44700082f8d800efb929a7678 /src/libstore | |
parent | b1db599dd05e86f65e73dc40584913e6e78c2bac (diff) | |
parent | 5ef8508a92997dbd7f8aa501b64fd283fb1c7bb8 (diff) |
Merge branch 'master' into make
Conflicts: src/libexpr/eval.cc
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/build.cc | 8 | ||||
-rw-r--r-- | src/libstore/gc.cc | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 63e34d256057..4329d9a22b95 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -1011,7 +1011,7 @@ void DerivationGoal::outputsSubstituted() trace("all outputs substituted (maybe)"); if (nrFailed > 0 && nrFailed > nrNoSubstituters + nrIncompleteClosure && !settings.tryFallback) - throw Error(format("some substitutes for the outputs of derivation `%1%' failed; try `--fallback'") % drvPath); + throw Error(format("some substitutes for the outputs of derivation `%1%' failed (usually happens due to networking issues); try `--fallback' to build derivation from source ") % drvPath); /* If the substitutes form an incomplete closure, then we should build the dependencies of this derivation, but after that, we @@ -1623,10 +1623,13 @@ void DerivationGoal::startBuilder() startNest(nest, lvlInfo, format(repair ? "repairing path(s) %1%" : "building path(s) %1%") % showPaths(missingPaths)); /* Right platform? */ - if (!canBuildLocally(drv.platform)) + if (!canBuildLocally(drv.platform)) { + if (settings.printBuildTrace) + printMsg(lvlError, format("@ unsupported-platform %1% %2%") % drvPath % drv.platform); throw Error( format("a `%1%' is required to build `%3%', but I am a `%2%'") % drv.platform % settings.thisSystem % drvPath); + } /* Construct the environment passed to the builder. */ @@ -2746,6 +2749,7 @@ void SubstitutionGoal::finished() logPipe.readSide.close(); /* Get the hash info from stdout. */ + string dummy = readLine(outPipe.readSide); string expectedHashStr = statusOk(status) ? readLine(outPipe.readSide) : ""; outPipe.readSide.close(); diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc index ce9b10f0538b..d212259f3b66 100644 --- a/src/libstore/gc.cc +++ b/src/libstore/gc.cc @@ -734,6 +734,7 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results) /* Allow other processes to add to the store from here on. */ fdGCLock.close(); + fds.clear(); /* Delete the trash directory. */ printMsg(lvlInfo, format("deleting `%1%'") % state.trashDir); |