Hello again, today I wanted to install the LLVM-based compiler `ldc` for the D programming language (along with its package management system `dub`). This failed grossly:
``` $ guix install ldc dub The following packages will be installed: dub 1.7.2 ldc 1.27.1 substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% The following derivation will be built: /gnu/store/gnc9jbwxwbplvpygb276p5fkp3q1l7v2-dub-1.7.2.drv 8.2 MB will be downloaded ldc-1.27.1 7.8MiB 3.2MiB/s 00:02 [##################] 100.0% building /gnu/store/gnc9jbwxwbplvpygb276p5fkp3q1l7v2-dub-1.7.2.drv... / 'build' phasebuilder for `/gnu/store/gnc9jbwxwbplvpygb276p5fkp3q1l7v2-dub-1.7.2.drv' failed with exit code 1 build of /gnu/store/gnc9jbwxwbplvpygb276p5fkp3q1l7v2-dub-1.7.2.drv failed View build log at '/var/log/guix/drvs/gn/c9jbwxwbplvpygb276p5fkp3q1l7v2-dub-1.7.2.drv.gz'. guix install: error: build of `/gnu/store/gnc9jbwxwbplvpygb276p5fkp3q1l7v2-dub-1.7.2.drv' failed ``` Unfortunately the tail of the log does not help me: ``` --- cut off many lines --- starting phase `build' ./build.sh: line 45: git: command not found Could not determine a version with git. Using existing version file. Running ldmd2... source/dub/semver.d(107): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead. source/dub/internal/sdlang/parser.d(121): Deprecation: module std.variant is not accessible here, perhaps add 'static import std.variant;' source/dub/internal/sdlang/parser.d(121): Deprecation: module std.variant is not accessible here, perhaps add 'static import std.variant;' Serializing composite type BuildRequirements which has no serializable fields Serializing composite type BuildOptions which has no serializable fields source/dub/internal/vibecompat/data/json.d(2111): Error: template instance `enforceEx!JSONException` template `enforceEx` is not defined, did you mean enforce(E : Throwable = Exception) if (is(typeof(new E("", string.init, size_t.init)) : Throwable) || is(typeof(new E(string.init, size_t.init)) : Throwable))? source/dub/internal/vibecompat/data/json.d(838): Error: template instance `dub.internal.vibecompat.data.json.enforceJson!("source/dub/internal/vibecompat/data/json.d", 838LU)` error instantiating source/dub/internal/vibecompat/data/json.d(221): instantiated from here: `checkType!(Json[string])` source/dub/dependency.d(309): instantiated from here: `opBinaryRight!"in"` source/dub/internal/vibecompat/data/json.d(2111): Error: template instance `enforceEx!JSONException` template `enforceEx` is not defined, did you mean enforce(E : Throwable = Exception) if (is(typeof(new E("", string.init, size_t.init)) : Throwable) || is(typeof(new E(string.init, size_t.init)) : Throwable))? source/dub/internal/vibecompat/data/json.d(839): Error: template instance `dub.internal.vibecompat.data.json.enforceJson!("source/dub/internal/vibecompat/data/json.d", 839LU)` error instantiating source/dub/internal/vibecompat/data/json.d(221): instantiated from here: `checkType!(Json[string])` source/dub/dependency.d(309): instantiated from here: `opBinaryRight!"in"` source/dub/internal/vibecompat/data/json.d(403): Error: template instance `dub.internal.vibecompat.data.json.Json.checkType!string` error instantiating source/dub/dependency.d(314): instantiated from here: `get!string` source/dub/internal/vibecompat/data/json.d(403): Error: template instance `dub.internal.vibecompat.data.json.Json.checkType!bool` error instantiating source/dub/internal/vibecompat/data/json.d(399): instantiated from here: `get!bool` source/dub/internal/vibecompat/data/json.d(1744): instantiated from here: `opCast!bool` source/dub/recipe/io.d(158): instantiated from here: `writeJsonString!(LockingTextWriter, true)` source/dub/dub.d(1102): instantiated from here: `serializePackageRecipe!(LockingTextWriter)` source/dub/internal/vibecompat/data/json.d(403): Error: template instance `dub.internal.vibecompat.data.json.Json.checkType!long` error instantiating error: in phase 'build': uncaught exception: %exception #<&invoke-error program: "./build.sh" arguments: () exit-status: 1 term-signal: #f stop-signal: #f> phase `build' failed after 16.0 seconds command "./build.sh" failed with status 1 ``` What to do in such cases? Any help is welcome! Thanks in advance & kind regards, Martin
