[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NPM breakthrough with test packages and weird error
From: |
swedebugia |
Subject: |
Re: NPM breakthrough with test packages and weird error |
Date: |
Sat, 12 Jan 2019 11:08:03 -0800 |
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
:)
--
Cheers
Swedebugia