Le Sat, 12 Jan 2019 11:08:03 -0800,
address@hidden a écrit :
On 2019-01-12 18:57, address@hidden wrote:
Hi
I have good (and bad) news!
Today I worked intensely on the node-build-system, importer and made
some improvements as I ran into multiple errors using the importer
and building the packages.
I tried first importing tape (test package, quite popular) and
succeded with a few adjustments.
Then I tried tap, its a hairy mess unfortunately and pulls in del,
typescript, grunt, nyc, and others
I write this message mostly because I now receive a really weird
error from guix.
address@hidden ~/src/guix$ ./pre-inst-env guix build -K node-grunt
guix build: error: build failed: invalid hash
`72bd690b3fbd3be123e66c0c1932d856b294931d134cd07d4d4cd6aa1e07'
address@hidden ~/src/guix$ ./pre-inst-env guix build -K
node-tap-mocha-reporter
guix build: error: build failed: invalid hash
`72bd690b3fbd3be123e66c0c1932d856b294931d134cd07d4d4cd6aa1e07'
The error is the same across multiple packages. Builds "succeede" as
usual if they are already in the store or unrelated to grunt and
nyc.
After investigating with strace I found this in the end:
[pid 8371] read(13, "download", 8) = 8
[pid 8371] write(13,
"\10\0\0\0\0\0\0\0\27\0\0\0\0\0\0\0minimatch-3.0.4."..., 944) = 944
[pid 8371] read(13, "ptxc\0\0\0\0", 8) = 8
[pid 8371] read(13, "K\0\0\0\0\0\0\0", 8) = 8
[pid 8371] read(13, "invalid hash `72bd690b3fbd3be123"..., 75) = 75
[pid 8371] read(13, "\0\0\0\0\0", 5) = 5
[pid 8371] read(13, "\1", 1) = 1
[pid 8371] read(13, "\0\0\0\0\0\0\0", 7) = 7
[pid 8371] close(13) = 0
[pid 8371] write(2, "guix build: error: build failed:"..., 109guix
build: error: build failed: invalid hash
`72bd690b3fbd3be123e66c0c1932d856b294931d134cd07d4d4cd6aa1e07'
) = 109
[pid 8371] exit_group(1) = ?
[pid 8376] <... read resumed> <unfinished ...>) = ?
[pid 8375] <... read resumed> <unfinished ...>) = ?
[pid 8376] +++ exited with 1 +++
[pid 8375] +++ exited with 1 +++
[pid 8374] <... futex resumed>) = ?
[pid 8374] +++ exited with 1 +++
+++ exited with 1 +++
How did I get a corrupted store? No idea. How to delete single
items?
I found this email from 宋文武 from 2016
"> How do I get rid of these ca. 30 outdated store items?
I think call gc for each one will work, eg:
for i in /gnu/store/*teensy*; do guix gc -d $i; done"
I adapted it to *minimatch* and deleted them all and checked the
store manually for any minimatch left and... it still did not work.
Hm.
Removed the hash for minimatch from the node.scm. Tried again. No
luck.
Time to repair the store? Update the daemon via reconfigure?
I run vanilla 0.16.
Pushed my changes here for anybody interested in taking a look
https://gitlab.com/swedebugia/guix/commits/npm2
(All my work build on the previous work of Jelle and Julien. Big
thanks to you!)
Resume of its status:
* recursive import works now.
* cyclic dependencies are not detected by the importer
* you have to import an earlier version by hand if a cycle is
encountered.
I imported 400+ packages in one day and most of them work out of the
box :)