Hi Jérémy, On Wed, Mar 16, 2022 at 7:11 PM Jérémy Lal <kapo...@melix.org> wrote:
> > > On Tue, Mar 15, 2022 at 10:46 PM Bo YU <tsu.y...@gmail.com> wrote: > >> HI >> >> On Mon, Mar 14, 2022 at 11:03 PM Jérémy Lal <kapo...@melix.org> wrote: >> >>> >>> >>> On Mon, Mar 14, 2022 at 3:58 PM Bo YU <tsu.y...@gmail.com> wrote: >>> >>>> Hi Jérémy, >>>> >>>> On Mon, Mar 14, 2022 at 9:27 AM Jérémy Lal <kapo...@melix.org> wrote: >>>> >>>>> Package: nodejs >>>>> Followup-For: Bug #994245 >>>>> X-Debbugs-Cc: Bo YU <tsu.y...@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. 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. Thank you, Bo > > Jérémy > >