unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* D compiler installation ldc failed
@ 2022-04-29  9:54 Martin Michel
  2022-05-09 14:54 ` zimoun
  0 siblings, 1 reply; 2+ messages in thread
From: Martin Michel @ 2022-04-29  9:54 UTC (permalink / raw)
  To: help-guix

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: D compiler installation ldc failed
  2022-04-29  9:54 D compiler installation ldc failed Martin Michel
@ 2022-05-09 14:54 ` zimoun
  0 siblings, 0 replies; 2+ messages in thread
From: zimoun @ 2022-05-09 14:54 UTC (permalink / raw)
  To: Martin Michel, help-guix

Hi,

On Fri, 29 Apr 2022 at 11:54, Martin Michel <martin@famic.de> wrote:

> guix install: error: build of `/gnu/store/gnc9jbwxwbplvpygb276p5fkp3q1l7v2-dub-1.7.2.drv' failed

Thanks for the report.

This web page [1] provides a clue.

1: <https://data.guix.gnu.org/repository/1/branch/master/package/dub/output-history>


Indeed, this first commit (6dffced0) failing is a merge.

--8<---------------cut here---------------start------------->8---
6dffced09ecda024e0884e352778c221ad066fd6
Author:     Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Mon Dec 13 16:29:21 2021 -0500
Commit:     Maxim Cournoyer <maxim.cournoyer@gmail.com>
CommitDate: Mon Dec 13 16:29:21 2021 -0500

Parent:     b603554ed0 gnu: emacs-geiser-guile: Update to 0.19.
Parent:     e3196755e6 gnu: Further simplify package inputs.
Follows:    v1.3.0 (12212)

Merge branch 'core-updates-frozen' into 'master'.

At last!

865 files changed, 88327 insertions(+), 84591 deletions(-)
--8<---------------cut here---------------end--------------->8---

This introduces a regression for the package ’dub’.

Find exactly which commit introduces the failure could be tricky using
regular bisect with good as b603554e and bad as e3196755e6 since the
history is quite complex and many substitutes are not available.

Moreover, even after burning some CPU, for many commits in this range,
Guix is simply not able to pull (or to ’guix time-machine --commit=’).
Well, ’git bisect’ says it could be any of 154 commits (see below) –
using this snippet:

--8<---------------cut here---------------start------------->8---
$ cat bisect.sh

ci=$(git log --format="%H" -1)
if guix time-machine --commit=$ci -- help ;then
    guix time-machine --commit=$ci \
         -- build dub --no-grafts
    exit $?
else
    exit 125
fi

$ git bisect start
$ git bisect good 8d27e6a7
$ git bisect bad  e3196755e6
$ git bisect run ./bisect.sh
--8<---------------cut here---------------end--------------->8---


Well, the error message is:

--8<---------------cut here---------------start------------->8---
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.
--8<---------------cut here---------------end--------------->8---

and I guess this ’ldmd2’ comes from the ’ldc’ package.  Therefore, let
consider,

--8<---------------cut here---------------start------------->8---
$ git log --grep=ldc --oneline -1
5a1ddd146b gnu: ldc: Update to 1.27.1.
--8<---------------cut here---------------end--------------->8---

and this commit is part of the “skipped” commits (see below).


BTW, note that ’rdmd’ is also broken.  Well, both ’dub’ and ’rdmd’ would
deserve an update.  But it implies to unknot some D packages bootstrap.



Note that the parent b603554ed0 builds fine.  So, waiting a complete
fix, you can still use:

    guix time-machine --commit=b603554ed0 -- install dub ldc


Cheers,
simon



The first bad commit could be any of:
7b5824f1a77f02016639aeee72538b5d39d397e3
2e2c6482c9d02fe456df8a0d3d35612f6f61ba64
a248421cbdd27730f436c76aefe322b3091d88b6
68ce9c38848982b53b41d1c6bb44eafb78d981b9
e976789754c0af63aef4acea18971c9f41ed2826
df20439d442759473579323d62fd2eb566d849e6
fa3878f0606818a2108a2f16fa155308044995b8
175018f162b5d24d1e0530ed5d8812a123c9cccd
8f78f61c029bb45c39fa782f8ac2c6962e44cdab
4a43e64b41e51f906258e0a2f238adbd6dcaed7e
b8324050ada78a6da96717aee972ceddaa77e528
33c7e1834739da8905aecd09fa44c8744bf7d773
fdae245a753d77a8266764fdcc8e11434a57d046
12b9810ede8795ff633145ccec4dd99482865cd8
86528cab04b16a4fbc3e81368b4cd405e85a4c8e
a0bf66ab9432675f86095d9a2533d7b80f58a668
a4ad0187d38325531b02062b46c552d1a52511bd
c60449434bf64d42ba5c2de456823448088d3573
daf54a3953e807d46c4c21bbc709879c6e8d31e8
000291fd4325d2afd1f9f93125986275f6e7ab7a
33b28e9553435a58f8e34c785ff3fd451165b634
222b461878179dbe3b5fdce8cb59cf6841579df7
feab09f72abc6d6eec16a1b8d27c231c747c0e00
831c08d8f263f476e0293f8a5422e7314a159c91
b9595a7659e5695faf4b0948ee48beb2aa913cf3
20e3dd052d7e4f59273e3646d3533d43c87c30b0
2fc08ccde4e134ccbbf7c1182165015d92712bbd
5a1ddd146bfd6cd874d0617872fe45148832113b
e0d9c3798229b041072e39dde1048bb02f1bfbcc
00bd5d3e4f05b73dfe0f5838823483349ae4ff3f
7541598fe28b93453814e19e52a778779717dc1b
00c78f8dbcfeee1bbfdace72f0cc73e8b2035929
35b91ada739e08d7ef3be130a5af5955195055b4
5f818705b4527f8aaae411d25b6f0cd55021614d
daa46cd151657ac4df991bf6651d46aae739fcef
06d2227e7eb2c45709a23a5b81f43dd6249f2399
879252e234f501bd18a63eb3c23a0bb370d72244
7137befc4388031a57eb52b338b049c0a66eed0f
d2fffa79863745e8be7c6ce8a720ba0839aa3a25
a46b8bbfabc0ebf4a476fbeae4066c8c94b6a45f
bc4f219ba472559b5d54e9262589fd9a83b4edaf
26457b40faa30d61a5cbe616ca355b5a0da41cf0
c6f3cb5f03e74c54e6dda527045aec91d70feb4e
4621cd7b8db00fd8230c8c5e51929f926aaf3795
f7d88cd4707eeaf02f9b854f05803d8d0428f670
698e6f17bb448c36fa7efdb2d24175078716c339
bcfff754ff4e7a9084868a0910540eb6a82f881f
22ebc35efd97b7745b0afbbe10ded80c52ca7dcb
3dd2ad6aeee91c98d0aba11ae37a4d0279fcae79
27a7c46598576c92dcd802b19d19df35e3b36db1
60e2a3bd5e1dca1b520ea16e8967fd85795fe3ef
8265e209b3374ff8e9fd8cff17a11f21f54f942b
f22f6fc3b6cc6382df3246d192a40a3951b48c37
6d08d40cfa8797066a14f2a456377eddfe24d76e
bfa1e12bb893de555903cdd776032b8d63f3d58f
b071402d35427c7400dff224f54d6c57d35104e2
b79d93ca3372205392797579b29d7af7d16c610e
0d56844268c93620445dbedb01fd2e7992e78c0e
f19ea27ad08aa12045bebb806a9575f6881e1e9c
30266441045873a30a9443670c607f955e858505
b64d3bb6d45757b2b280b5c6fd45990989c2fcfd
a8dd1d2abf06f93c740cfe18038d7b69ad889943
ee394937bc1ccac3a1d68e654cb7904b2b66e972
539b18da3d533256f57b7114635883d3867aa8f9
a095d983ea230d48472f123ceb62f20d137eee3b
18dd5e45e4b9d7c66f386119e6578bf8b0555f63
6933a32b8bce90a819263f178e7f82d9c5728fc5
1abc9cae28649da9c803b5bd5267bd28fc8973cc
d42a56f8ae29abb30c3be78c2cd34862824dcf70
3b9b685d051c44206d1b5efce920c85037ec081c
fd34e2bc62382f9930adaec952c0c5c606a85480
50db3459cb20132a811b6b071545e76757ae8fa5
b021a640d334d8300cd3b50b29f958ffec6004e4
62a83908eb0400e2551374d6dcfe8fe1ed6c19d0
9b6a23e5249a117357fd6a8958bdbf6d4d23c428
37903729798cc9a3ea2b803cd7c4de4cc80572b5
a0d50acf01e0e948398c65ef0058b2d22f1073c3
0195d4b1c31d7cdbac5b05139ffff7da63793e62
a570cea4c6ac82ca39c18b6fd647b008bc8b6147
8dec1804a550257034730f1ecd618a3589a64625
9b54d521160f5798faea0fe70e280ce5ec5e6c4c
0dc52fc25a7ad44f955be9b1f19827da1fba8af9
d396897795cbea08ae5a13146eff15eb1b6eb88f
c53ece502b25bedf020002149b8797da67a56140
ff28af501d03d5b1bd4fbfc25f5785e611b50976
29f898a99f9a6427058a9aa61805633442231750
d1be2661ca195da502e0b85619b26b5d277864e2
46ecaa46b599b4b52faa2836180c26d296f3cbe8
59dd9218fb66862962a65e984a1bbbdbedd1b694
781f475bbac4e73848f68cb9f420a7283ec17c16
bd771edd6cea746397e5f6b8f075528cf5c7cada
2971472e79b2aff214106de16b6f57e618510bdd
91bb9cb3a9e0cdc119dd383045399a90782806dc
4e3ef1d6fdcea3e463ea7eb3f5ec29be8fd5a34d
889eebc1854145e6895bb8b50fc36d07a194c1fb
0a2a79de9700315dd66098851e770f4814d6b889
eb619cda362959c61ec107acceee11c0017995f7
802307fe6f6ce5cb89addc9ab25b5e488c443575
b2563bc335c4da931ecd5196f0208907560c8353
0136d815803632abdd7ffb743edab4017575ee92
3e026fc2b1bd65ead774733fbc5852794d96bf43
dac3ba0d400dc6fb9c06724e282489ea3dcffc70
dfcc96d8f48716ae5aefb383c58b153d5bcb407c
d335c898778f359ab06d91a0f3a63d426d97e82e
e3f172b1ad48a1772de576086189684ec3978abe
a6d9dbb1b2499236f6c70c5154d9f024be9321de
d9cef9390ca46fe0572abde7117e6454a235c40c
95878336881eaa5383348712b11087029e943b92
f72c4f3dca3f5b6ece654c22f098e9f8c3838931
33cdba945b1b5ecdd91417e2c090ef11797d37e1
b734ce06e142a6fa29c40919f4cda93d4d8ad700
05e3638bb9275276fe7999f37ff4c5b000337319
82b10c93b8c01c0fa3f078dcf784f78222a67fe7
0f67d46524b6048598effd3ddc2c6c7a06c633fb
c738a054cac00441a4f697f0b40705d0b3f4a7a7
374c6fd09c5fbcbe06e7fac2d7faac584e6dfa80
9635119a61a9ab1b023558727fcdf1816fdc7fc6
b045f587715f9dc11e71e267f1cf4c8fd24ae4dc
bc4149818dbdc5490ec99e154fa1798ea39577f1
33133a6ed32752b2ad2b974f7d63d9302c476a7f
ef347195278eb160ec725bbdccf71d67c0fa4271
6d7a0b84e202ee29336cc758bf0cb90d5ffcdfb6
b89ab98168a988ba305c30004934f19aaf67bba6
14949c630bdc78cf5b5bad8ef2dd835a82077541
874188c0ab2955412519dc917402fefc6dd723fc
ac4417328d58f08105afd48545ba945b25f5e666
e30cce86a140fb3f682210db3ab283db54b9813b
8a613f9d4ed4941eef915e98f462c56f883aba2a
ccebbaa5170dc250ceb8810d1baa331a7f0b9952
41f058d10d17802632a1354eb02dd363057ded4b
f82cb5b57def732367702ab2a94d0e018a756952
2541a0527e7406d52562508c998cac9d526c290b
472da854f100263a7d62705fecabad7c968454bc
6d513816f5986da3bb2a896c407b4827a9e0a95a
8b1dfc144bf99b4673055c44103e690a5583d1f0
b04a20f77fe3863931de273490d75371561d4e51
d2dff53dfbe9ba645ef0bded98fca231f36d4323
460d6aca0c9a8f8443d50e5a5cf2bf9841bcc559
d5c79f53d307a3c2d9e433028513d5243e247512
2873ad49a05fac668bd0712afc1a7d57a9dfa373
3dfe45c3f10e31a016b22127eede8099ca4f4b8f
57fd6d511c678eeee88f254c511847a56f86f85f
59ca8d6483aedf3df0f112111d7747e47182bee2
9e497f44ba8104b6b4743e72cb041c8e15586a83
f234f5b0e120ea8cfa850440a428c3bc211b329b
4b4e35a771cbcc7b72d28e9a4c6a0d6de2000175
661b25a2ed090bd16f212cefd45296221a141afc
ac6f6772496378893a8ebfce4bf1707aed2fe089
af8b03b4e26ec1e50559062d3115398eb6a63c2c
8c801194b548d1f2d6f47dfcdd5611ae72e29759
d26584fcdac80058eea9a98be89ed120945e0b1b
24e5cf51847e50c7735e0090614093b799c0e30f
4b1538e6ef76bf46993f0a368a0abbe2f6eb8ffb
ab0cf06244e592c41fe7db310e0f6cd54167b074


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-09 14:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-29  9:54 D compiler installation ldc failed Martin Michel
2022-05-09 14:54 ` zimoun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).