From: Marius Bakke <mbakke@fastmail.com>
To: "Mathieu Lirzin" <mthl@gnu.org>, "Ludovic Courtès" <ludo@gnu.org>
Cc: 32095@debbugs.gnu.org
Subject: [bug#32095] [PATCH 2/2] gnu: node: Update to 10.6.0.
Date: Fri, 07 Sep 2018 13:21:07 +0200 [thread overview]
Message-ID: <87a7oteeos.fsf@fastmail.com> (raw)
In-Reply-To: <87pnxqus5x.fsf@gnu.org>
[-- Attachment #1.1: Type: text/plain, Size: 10467 bytes --]
Hello!
Mathieu Lirzin <mthl@gnu.org> writes:
> Hello,
>
> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Mathieu Lirzin <mthl@gnu.org> skribis:
>>
>>> * gnu/packages/node.scm (node): Update to 10.6.0.
>>
>> I have it fail its tests like this:
>>
>> Building addon in /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/addons/load-long-path
>> Building addon in /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/addons/make-callback
>> Building addon in /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/addons/make-callback-domain-warning
>> /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/tools/build-addons.js:58
>> main(process.argv[3]).catch((err) => setImmediate(() => { throw err; }));
>> ^
>>
>> Error: Command failed: /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/out/Release/node /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/deps/npm/node_modules/node-gyp/bin/node-gyp.js rebuild --directory=/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/addons/buffer-free-callback
>> Traceback (most recent call last):
>> File "/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/deps/npm/node_modules/node-gyp/gyp/gyp_main.py", line 13, in <module>
>> import gyp
>> File "/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 8, in <module>
>> import gyp.input
>> EOFError: EOF read where object expected
>>
>> at ChildProcess.exithandler (child_process.js:291:12)
>> at ChildProcess.emit (events.js:182:13)
>> at maybeClose (internal/child_process.js:961:16)
>> at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)
>> make[1]: *** [Makefile:345: test/addons/.buildstamp] Error 1
>> make: *** [Makefile:266: test] Error 2
>>
>> Does this test pass for you?
>
> I am pretty confident it worked before sending the patch. But now it
> fails with some crypto related errors during ‘make -s jstest’.
>
> --8<---------------cut here---------------start------------->8---
> === release test-crypto-scrypt ===
> Path: parallel/test-crypto-scrypt
> /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/common/index.js:752
> throw new assert.AssertionError({
> ^
>
> AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
> + expected - actual ... Lines skipped
>
> Comparison {
> - message: 'error:060B50AC:digital envelope routines:EVP_PBE_scrypt:memory limit exceeded',
> + code: 'ERR_CRYPTO_SCRYPT_INVALID_PARAMETER',
> + message: 'Invalid scrypt parameter',
> type: [Function: Error] {
> ...
> }
> }
> at new AssertionError (internal/assert.js:268:11)
> at Object.innerFn (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/common/index.js:752:15)
> at expectedException (assert.js:489:19)
> at expectsError (assert.js:577:16)
> at Function.throws (assert.js:608:3)
> at Object.expectsError (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/common/index.js:764:12)
> at Object.<anonymous> (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-crypto-scrypt.js:126:10)
> at Module._compile (internal/modules/cjs/loader.js:689:30)
> at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
> at Module.load (internal/modules/cjs/loader.js:599:32)
> Command: out/Release/node /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-crypto-scrypt.js
> === release test-tls-passphrase ===
> Path: parallel/test-tls-passphrase
> assert.js:578
> throw actual;
> ^
>
> Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
> at Object.createSecureContext (_tls_common.js:144:17)
> at Object.exports.connect (_tls_wrap.js:1119:48)
> at /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-passphrase.js:228:7
> at getActual (assert.js:497:5)
> at Function.throws (assert.js:608:24)
> at Object.<anonymous> (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-passphrase.js:227:8)
> at Module._compile (internal/modules/cjs/loader.js:689:30)
> at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
> at Module.load (internal/modules/cjs/loader.js:599:32)
> at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
> Command: out/Release/node /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-passphrase.js
> === release test-tls-server-verify ===
> Path: parallel/test-tls-server-verify
> 0 0 connecting with agent1
> 0 1 connecting with agent2
> 0 2 connecting with agent3
> 0 3 connecting with nocert
> 1 0 connecting with agent1
> 1 1 connecting with agent2
> 1 2 connecting with agent3
> 1 3 connecting with nocert
> 2 0 connecting with agent1
> 2 1 connecting with agent2
> 2 2 connecting with agent3
> 2 3 connecting with nocert
> 3 0 connecting with agent1
> 3 1 connecting with agent2
> 3 2 connecting with agent3
> 3 3 connecting with nocert
> 4 0 connecting with agent1
> 4 1 connecting with agent2
> 4 2 connecting with agent3
> 4 3 connecting with nocert
> 5 0 connecting with agent1
> 5 1 connecting with agent2
> 5 2 connecting with agent3
> 5 3 connecting with agent4
> 5 4 connecting with nocert
> 0 Running 'Do not request certs. Everyone is unauthorized.'
> 0 - unauthed connection: null
> 0 - unauthed connection: null
> 0 - unauthed connection: null
> 0 0 * unauthed
> 0 1 * unauthed
> 0 2 * unauthed
> 0 - unauthed connection: null
> 0 3 * unauthed
> 1 Running 'Allow both authed and unauthed connections with CA1'
> 1 - authed connection: agent1
> 1 - unauthed connection: DEPTH_ZERO_SELF_SIGNED_CERT
> 1 - unauthed connection: UNABLE_TO_VERIFY_LEAF_SIGNATURE
> 1 0 * authed
> 1 1 * unauthed
> 1 2 * unauthed
> 1 - unauthed connection: UNABLE_TO_GET_ISSUER_CERT
> 1 3 * unauthed
> 2 Running 'Do not request certs at connection. Do that later'
> 2 - connected, renegotiating
> 2 - authed connection: agent1
> 2 0 * authed
> 2 - unauthed connection: null
> 2 1 * unauthed
> 2 - unauthed connection: null
> 2 2 * unauthed
> 2 - unauthed connection: null
> 2 3 * unauthed
> 3 Running 'Allow only authed connections with CA1'
> 3 - authed connection: agent1
> 3 0 * authed
> 4 Running 'Allow only authed connections with CA1 and CA2'
> 4 - authed connection: agent1
> 4 0 * authed
> 4 - authed connection: agent3
> 4 2 * authed
> 5 Running 'Allow only certs signed by CA2 but not in the CRL'
> assert.js:79
> throw new AssertionError(obj);
> ^
>
> AssertionError [ERR_ASSERTION]: 5 2 agent3 rejected, but should NOT have been
> at ChildProcess.<anonymous> (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-server-verify.js:232:14)
> at ChildProcess.emit (events.js:182:13)
> at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
> Command: out/Release/node /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-server-verify.js
> [18:56|% 100|+ 2306|- 3]: Done
> make[1]: *** [Makefile:256: jstest] Error 1
> make: *** [Makefile:270: test] Error 2
> --8<---------------cut here---------------end--------------->8---
>
> I have tried to build 10.9.0 which has been released and the test suite
> fails because of network access.
>
> --8<---------------cut here---------------start------------->8---
> make -s build-addons
> touch d9f90e808e8e700c15c35c2d7be302e61a333778.intermediate
> touch 6843310704f7b860e12805ed03c0ca2ab1bcdadb.intermediate
> LD_LIBRARY_PATH=/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.host:/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../.; mkdir -p /tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/src/node/inspector/protocol; python tools/inspector_protocol/CodeGenerator.py --jinja_dir tools/inspector_protocol/.. --output_base "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/src/" --config "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/node_protocol_config.json"
> LD_LIBRARY_PATH=/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.host:/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/gypfiles; mkdir -p /tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/src/inspector/protocol /tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/include/inspector; python ../third_party/inspector_protocol/CodeGenerator.py --jinja_dir ../third_party --output_base "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/src/inspector" --config ../src/inspector/inspector_protocol_config.json
> touch f70a2bc83365ae821b54e7787433d4a600b5cf5e.intermediate
> LD_LIBRARY_PATH=/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.host:/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/gypfiles; mkdir -p /tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/torque-generated; "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/torque" ../src/builtins/base.tq ../src/builtins/array.tq ../src/builtins/typed-array.tq -o "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/torque-generated"
> npm ERR! code ENOTFOUND
> npm ERR! errno ENOTFOUND
> npm ERR! network request to https://registry.npmjs.org/rehype-raw failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
> npm ERR! network This is a problem related to network connectivity.
> npm ERR! network In most cases you are behind a proxy or have bad network settings.
> npm ERR! network
> npm ERR! network If you are behind a proxy, please make sure that the
> npm ERR! network 'proxy' config is set properly. See: 'npm help config'
> make[1]: *** [Makefile:1075: tools/doc/node_modules] Error 1
> make: *** [Makefile:271: test] Error 2
>
> Test suite failed, dumping logs.
> --8<---------------cut here---------------end--------------->8---
>
> Anyway I am giving up.
>
> Sorry for the delay.
I was able to build node on 'core-updates' with this patch:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-node-Update-to-10.9.0.patch --]
[-- Type: text/x-patch, Size: 2096 bytes --]
From 3f745249f965dce2bc36abc21095b75bb902d11a Mon Sep 17 00:00:00 2001
From: Marius Bakke <mbakke@fastmail.com>
Date: Thu, 23 Aug 2018 14:54:32 +0200
Subject: [PATCH] gnu: node: Update to 10.9.0.
* gnu/packages/node.scm (node): Update to 10.9.0.
[source](uri): Use ".xz" tarball.
[arguments]: Set #:test-target.
[inputs]: Change OPENSSL to OPENSSL-NEXT.
---
gnu/packages/node.scm | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index d1de7a536..046c61c6d 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -44,14 +44,14 @@
(define-public node
(package
(name "node")
- (version "9.11.1")
+ (version "10.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nodejs.org/dist/v" version
- "/node-v" version ".tar.gz"))
+ "/node-v" version ".tar.xz"))
(sha256
(base32
- "1vjh9zvw7wkdz6b0l99ya7mqjk0l8lbg9isr1q8rxwp400dhkk32"))
+ "00hdachbmcf9pyd1iksprsi5mddwp6z59mb3lr81z8ynfbmzhzni"))
(modules '((guix build utils)))
(snippet
`(begin
@@ -82,6 +82,9 @@
"--shared-zlib"
"--without-snapshot"
"--with-intl=system-icu")
+ ;; Run only the CI tests. The default check target requires additional
+ ;; add-ons from NPM not distributed with the source.
+ #:test-target "test-ci-js"
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-files
@@ -169,7 +172,7 @@
("icu4c" ,icu4c)
("libuv" ,libuv)
("nghttp2" ,nghttp2 "lib")
- ("openssl" ,openssl)
+ ("openssl" ,openssl-next)
("zlib" ,zlib)))
(synopsis "Evented I/O for V8 JavaScript")
(description "Node.js is a platform built on Chrome's JavaScript runtime
--
2.18.0
[-- Attachment #1.3: Type: text/plain, Size: 256 bytes --]
I did not push it yet because I was hoping someone with more knowledge
of node internals knew what's up with the NPM requirement (and forgot to
ping this bug!).
On 'master', I think this also requires a newer version of 'libuv'. Can
you try it Mathieu?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
next prev parent reply other threads:[~2018-09-07 11:22 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-08 15:16 [bug#32095] [PATCH 0/2] Update libuv and node Mathieu Lirzin
2018-07-08 15:20 ` [bug#32095] [PATCH 1/2] gnu: libuv: Update to 1.21.0 Mathieu Lirzin
2018-07-08 15:20 ` [bug#32095] [PATCH 2/2] gnu: node: Update to 10.6.0 Mathieu Lirzin
2018-07-09 14:59 ` Ludovic Courtès
2018-09-06 23:23 ` Mathieu Lirzin
2018-09-07 11:21 ` Marius Bakke [this message]
2018-07-09 14:58 ` [bug#32095] [PATCH 1/2] gnu: libuv: Update to 1.21.0 Ludovic Courtès
2018-07-09 15:08 ` Ludovic Courtès
2018-09-07 15:13 ` [bug#32095] [PATCH 2/2] gnu: node: Update to 10.6.0 Mathieu Lirzin
2018-09-22 15:08 ` Mathieu Lirzin
2018-09-22 15:32 ` Marius Bakke
2018-09-22 16:36 ` Mathieu Lirzin
2018-09-23 13:22 ` Marius Bakke
2018-09-23 14:03 ` Mathieu Lirzin
2018-09-25 22:45 ` bug#32095: " Marius Bakke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a7oteeos.fsf@fastmail.com \
--to=mbakke@fastmail.com \
--cc=32095@debbugs.gnu.org \
--cc=ludo@gnu.org \
--cc=mthl@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
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).