@@ -265,6 +265,57 @@ To use dongcarl's substitute server for Bitcoin Core builds after having
265
265
export SUBSTITUTE_URLS='https://guix.carldong.io https://ci.guix.gnu.org'
266
266
```
267
267
268
+ ## Troubleshooting
269
+
270
+ ### Derivation failed to build
271
+
272
+ When you see a build failure like below:
273
+
274
+ ```
275
+ building /gnu/store/...-foo-3.6.12.drv...
276
+ / 'check' phasenote: keeping build directory `/tmp/guix-build-foo-3.6.12.drv-0'
277
+ builder for `/gnu/store/...-foo-3.6.12.drv' failed with exit code 1
278
+ build of /gnu/store/...-foo-3.6.12.drv failed
279
+ View build log at '/var/log/guix/drvs/../...-foo-3.6.12.drv.bz2'.
280
+ cannot build derivation `/gnu/store/...-qux-7.69.1.drv': 1 dependencies couldn't be built
281
+ cannot build derivation `/gnu/store/...-bar-3.16.5.drv': 1 dependencies couldn't be built
282
+ cannot build derivation `/gnu/store/...-baz-2.0.5.drv': 1 dependencies couldn't be built
283
+ guix time-machine: error: build of `/gnu/store/...-baz-2.0.5.drv' failed
284
+ ```
285
+
286
+ It means that ` guix ` failed to build a package named ` foo ` , which was a
287
+ dependency of ` qux ` , ` bar ` , and ` baz ` . Importantly, note that the last "failed"
288
+ line is not necessarily the root cause, the first "failed" line is.
289
+
290
+ Most of the time, the build failure is due to a spurious test failure or the
291
+ package's build system/test suite breaking when running multi-threaded. To
292
+ rebuild _ just_ this derivation in a single-threaded fashion:
293
+
294
+ ``` sh
295
+ $ guix build --cores=1 /gnu/store/...-foo-3.6.12.drv
296
+ ```
297
+
298
+ If the single-threaded rebuild stil did not succeed, you may need to dig deeper.
299
+ You may view ` foo ` 's build logs in ` less ` like so (please replace paths with the
300
+ path you see in the build failure output):
301
+
302
+ ``` sh
303
+ $ bzcat /var/log/guix/drvs/../...-foo-3.6.12.drv.bz2 | less
304
+ ```
305
+
306
+ ` foo ` 's build directory is also preserved and available at
307
+ ` /tmp/guix-build-foo-3.6.12.drv-0 ` . However, if you fail to build ` foo ` multiple
308
+ times, it may be ` /tmp/...drv-1 ` or ` /tmp/...drv-2 ` . Always consult the build
309
+ failure output for the most accurate, up-to-date information.
310
+
311
+ #### python(-minimal): [ Errno 84] Invalid or incomplete multibyte or wide character
312
+
313
+ This error occurs when your ` $TMPDIR ` (default: /tmp) exists on a filesystem
314
+ which rejects characters not present in the UTF-8 character code set. An example
315
+ is ZFS with the utf8only=on option set.
316
+
317
+ More information: https://bugs.python.org/issue37584
318
+
268
319
## FAQ
269
320
270
321
### How can I trust the binary installation?
0 commit comments