[Pkg-javascript-devel] Bug#994245: nodejs: improve bootstraping nodejs

Bo YU tsu.yubo at gmail.com
Wed Mar 23 23:53:07 GMT 2022


s/check/builtin

On Thu, Mar 24, 2022 at 7:50 AM Bo YU <tsu.yubo at gmail.com> wrote:

>
>
> On Fri, Mar 18, 2022 at 4:49 PM Jérémy Lal <kapouer at melix.org> wrote:
>
>>
>>
>> On Fri, Mar 18, 2022 at 8:25 AM Bo YU <tsu.yubo at gmail.com> wrote:
>>
>>> Hi Jérémy,
>>>
>>> On Wed, Mar 16, 2022 at 7:11 PM Jérémy Lal <kapouer at melix.org> wrote:
>>>
>>>>
>>>>
>>>> On Tue, Mar 15, 2022 at 10:46 PM Bo YU <tsu.yubo at gmail.com> wrote:
>>>>
>>>>> HI
>>>>>
>>>>> On Mon, Mar 14, 2022 at 11:03 PM Jérémy Lal <kapouer at melix.org> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Mar 14, 2022 at 3:58 PM Bo YU <tsu.yubo at gmail.com> wrote:
>>>>>>
>>>>>>> Hi Jérémy,
>>>>>>>
>>>>>>> On Mon, Mar 14, 2022 at 9:27 AM Jérémy Lal <kapouer at melix.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Package: nodejs
>>>>>>>> Followup-For: Bug #994245
>>>>>>>> X-Debbugs-Cc: Bo YU <tsu.yubo at gmail.com>
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> recently Bo YU has worked on building nodejs 14 for riscv64.
>>>>>>>>
>>>>>>>> Bo, you can tell us here what you achieved, and what's blocking you
>>>>>>>> right now ?
>>>>>>>>
>>>>>>>> Good news: I am building the nodejs(16.14) that remove d/control
>>>>>>> file about nocheck nodoc  nobuildt tags
>>>>>>>  with ` sudo sbuild --arch=riscv64 -d sid-riscv64-sbuild
>>>>>>>  --extra-package=/home/vimer/pre_install_debs/`.
>>>>>>> Yadd hinted me: I firstly rebuild pkg-js-tools package and yadd told
>>>>>>> me that is all arch  and it does not need to
>>>>>>> rebuild at all. So I downloaded those special packages form
>>>>>>> https://packages.debian.org/ and pass them
>>>>>>> with --extar-package argument. At last it can build. But
>>>>>>> according to last build experience, It will last 15+ h.
>>>>>>> If everything is ok, I will upload the changes file to experimental
>>>>>>> tomorrow
>>>>>>>
>>>>>>
>>>>>> It's so simple it's painful :)
>>>>>>
>>>>>
>>>> Well actually i got blinded by that simplicity, see below.
>>>>
>>>>
>>>>
>>>>> Bad news:
>>>>> In the past two days, I got the same error when rebuild riscv arch
>>>>> nodejs package:
>>>>>
>>>>> if [ -x /<<PKGBUILDDIR>>/./node ] && [ -e /<<PKGBUILDDIR>>/./node ];
>>>>> then /<<PKGBUILDDIR>>/./node  debian/doc-generator/apilinks.mjs
>>>>> out/doc/apilinks.json lib/_http_agent.js lib/_http_client.js
>>>>> lib/_http_common.js lib/_http_incoming.js lib/_http_outgoing.js
>>>>> lib/_http_server.js lib/_stream_duplex.js lib/_stream_passthrough.js
>>>>> lib/_stream_readable.js lib/_stream_transform.js lib/_stream_wrap.js
>>>>> lib/_stream_writable.js lib/_tls_common.js lib/_tls_wrap.js lib/assert.js
>>>>> lib/async_hooks.js lib/buffer.js lib/child_process.js lib/cluster.js
>>>>> lib/console.js lib/constants.js lib/crypto.js lib/dgram.js
>>>>> lib/diagnostics_channel.js lib/dns.js lib/domain.js lib/events.js lib/fs.js
>>>>> lib/http.js lib/http2.js lib/https.js lib/inspector.js lib/module.js
>>>>> lib/net.js lib/os.js lib/path.js lib/perf_hooks.js lib/process.js
>>>>> lib/punycode.js lib/querystring.js lib/readline.js lib/repl.js
>>>>> lib/stream.js lib/string_decoder.js lib/sys.js lib/timers.js lib/tls.js
>>>>> lib/trace_events.js lib/tty.js lib/url.js lib/util.js lib/v8.js lib/vm.js
>>>>> lib/wasi.js lib/worker_threads.js lib/zlib.js; elif [ -x `command -v node`
>>>>> ] && [ -e `command -v node` ] && [ `command -v node` ]; then `command -v
>>>>> node`  debian/doc-generator/apilinks.mjs out/doc/apilinks.json
>>>>> lib/_http_agent.js lib/_http_client.js lib/_http_common.js
>>>>> lib/_http_incoming.js lib/_http_outgoing.js lib/_http_server.js
>>>>> lib/_stream_duplex.js lib/_stream_passthrough.js lib/_stream_readable.js
>>>>> lib/_stream_transform.js lib/_stream_wrap.js lib/_stream_writable.js
>>>>> lib/_tls_common.js lib/_tls_wrap.js lib/assert.js lib/async_hooks.js
>>>>> lib/buffer.js lib/child_process.js lib/cluster.js lib/console.js
>>>>> lib/constants.js lib/crypto.js lib/dgram.js lib/diagnostics_channel.js
>>>>> lib/dns.js lib/domain.js lib/events.js lib/fs.js lib/http.js lib/http2.js
>>>>> lib/https.js lib/inspector.js lib/module.js lib/net.js lib/os.js
>>>>> lib/path.js lib/perf_hooks.js lib/process.js lib/punycode.js
>>>>> lib/querystring.js lib/readline.js lib/repl.js lib/stream.js
>>>>> lib/string_decoder.js lib/sys.js lib/timers.js lib/tls.js
>>>>> lib/trace_events.js lib/tty.js lib/url.js lib/util.js lib/v8.js lib/vm.js
>>>>> lib/wasi.js lib/worker_threads.js lib/zlib.js; else echo "No available
>>>>> node, cannot run \"node  debian/doc-generator/apilinks.mjs
>>>>> out/doc/apilinks.json lib/_http_agent.js lib/_http_client.js
>>>>> lib/_http_common.js lib/_http_incoming.js lib/_http_outgoing.js
>>>>> lib/_http_server.js lib/_stream_duplex.js lib/_stream_passthrough.js
>>>>> lib/_stream_readable.js lib/_stream_transform.js lib/_stream_wrap.js
>>>>> lib/_stream_writable.js lib/_tls_common.js lib/_tls_wrap.js lib/assert.js
>>>>> lib/async_hooks.js lib/buffer.js lib/child_process.js lib/cluster.js
>>>>> lib/console.js lib/constants.js lib/crypto.js lib/dgram.js
>>>>> lib/diagnostics_channel.js lib/dns.js lib/domain.js lib/events.js lib/fs.js
>>>>> lib/http.js lib/http2.js lib/https.js lib/inspector.js lib/module.js
>>>>> lib/net.js lib/os.js lib/path.js lib/perf_hooks.js lib/process.js
>>>>> lib/punycode.js lib/querystring.js lib/readline.js lib/repl.js
>>>>> lib/stream.js lib/string_decoder.js lib/sys.js lib/timers.js lib/tls.js
>>>>> lib/trace_events.js lib/tty.js lib/url.js lib/util.js lib/v8.js lib/vm.js
>>>>> lib/wasi.js lib/worker_threads.js lib/zlib.js\""; exit 1; fi;
>>>>> node:internal/errors:464
>>>>>     ErrorCaptureStackTrace(err);
>>>>>     ^
>>>>>
>>>>> Error [ERR_MODULE_NOT_FOUND]: Cannot find module
>>>>> '/<<PKGBUILDDIR>>/deps/acorn/acorn/dist/acorn.mjs' imported from
>>>>> /<<PKGBUILDDIR>>/debian/doc-generator/apilinks.mjs
>>>>>     at new NodeError (node:internal/errors:371:5)
>>>>>     at finalizeResolution (node:internal/modules/esm/resolve:418:11)
>>>>>     at moduleResolve (node:internal/modules/esm/resolve:981:10)
>>>>>     at defaultResolve (node:internal/modules/esm/resolve:1078:11)
>>>>>     at ESMLoader.resolve (node:internal/modules/esm/loader:530:30)
>>>>>     at ESMLoader.getModuleJob (node:internal/modules/esm/loader:251:18)
>>>>>     at ModuleWrap.<anonymous>
>>>>> (node:internal/modules/esm/module_job:79:40)
>>>>>     at link (node:internal/modules/esm/module_job:78:36) {
>>>>>   code: 'ERR_MODULE_NOT_FOUND'
>>>>> }
>>>>> make[3]: *** [Makefile:726: out/doc/apilinks.json] Error 1
>>>>> make[2]: *** [Makefile:686: doc-only] Error 2
>>>>> make[2]: Leaving directory '/<<PKGBUILDDIR>>'
>>>>> make[1]: *** [debian/rules:249: override_dh_auto_build-indep] Error 2
>>>>> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>>>>> make: *** [debian/rules:186: binary] Error 2
>>>>> dpkg-buildpackage: error: debian/rules binary subprocess returned exit
>>>>> status 2
>>>>>
>>>>> --------------------------------------------------------------------------------
>>>>> Build finished at 2022-03-15T18:52:50Z
>>>>>
>>>>> Was I missing the dependencies?
>>>>>
>>>>
>>>> I repeat that to bootstrap nodejs you need to build first the
>>>> arch-dependent packages (nodejs, libnode..)
>>>> --build=any
>>>> DEB_BUILD_PROFILES="nodoc nocheck nobuiltin"
>>>>
>>> let me just clarify. First  I git clone nodejs from salsa && git
>>> checkout master-16.x
>>> `dpkg-buildpackage --build=any` (with DEB_BUILD_PROFILES="nodoc nocheck
>>> nobuiltin"). I am not sure whether
>>> to fix d/control file.
>>>
>>
>> Hi,
> After several times build fails about (on riscv hardware):
>  collect2: fatal error: ld terminated with signal 9 [Killed]
> compilation terminated.
> I have to switch VM. I checkout master/16.x today and noticed nodejs's
> deps about node-acorn with  <!pkg.nodejs.nobuiltin> tag?
> Is this what we want?
> In order to build nodejs-*.deb on riscv, I change it to <!nocheck>
> locally,OK?
>
>
>> Yes, the command is
>> DEB_BUILD_PROFILES="nodoc nocheck nobuiltin"  dpkg-buildpackage
>> --build=any
>>
>> - gives you a non-working nodejs package
>> - BUT that allows you to install it along with all its
>> build-dependencies, especially node-acorn*
>> - in which case it should be working, (though it might not i haven't
>> tested this fully)
>> - and then you can rebuild it without DEB_BUILD_PROFILES, since you can
>> install "arch all" build-dependencies now
>>
>>
>>> And use cmd `dpkg-buildpackage` to build those arch-dependent packages
>>> with riscv64 hardware?
>>>
>>>>
>>>> Once that is done, you can install all arch-independent packages that
>>>> depend on nodejs,
>>>> and that are already available in debian, and rebuild nodejs fully
>>>> (with nodejs-doc and tests too).
>>>>
>>> It seems like to run real riscv64 boards also, right?
>>> It happens to me I have a riscv64 board.
>>>
>>
>> In a VM is all right, and on real riscv64 board is perfect :) is it fast ?
>>
>> Jérémy
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20220324/478fe14c/attachment.htm>


More information about the Pkg-javascript-devel mailing list