diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 61b7d3326..2e0f166d4 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -796,6 +796,9 @@ void DerivationGoal::init() { trace("init"); + if (readOnlyMode) + throw Error(format("cannot build derivation `%1%' - no write access to the Nix store") % drvPath); + /* The first thing to do is to make sure that the derivation exists. If it doesn't, it may be created through a substitute. */ @@ -2122,6 +2125,9 @@ void SubstitutionGoal::init() return; } + if (readOnlyMode) + throw Error(format("cannot substitute path `%1%' - no write access to the Nix store") % storePath); + subs = substituters; tryNext();