Le Sat, 12 Jan 2019 11:08:03 -0800, swedebu...@riseup.net a écrit : > On 2019-01-12 18:57, swedebu...@riseup.net 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. > > > > sdb@antelope ~/src/guix$ ./pre-inst-env guix build -K node-grunt > > guix build: error: build failed: invalid hash > > `72bd690b3fbd3be123e66c0c1932d856b294931d134cd07d4d4cd6aa1e07' > > sdb@antelope ~/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 :) >
Nice! For the hash issue, I just had a similar one because I somehow removed the hash in an origin record like so: (sha256 (base32 "")) The error is weird, but maybe the importer did something wrong?