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

Jérémy Lal kapouer at melix.org
Fri Mar 25 08:12:17 GMT 2022


On Fri, Mar 25, 2022 at 7:10 AM Bo YU <tsu.yubo at gmail.com> wrote:

> hi,
>
> On Fri, Mar 25, 2022 at 9:31 AM Jérémy Lal <kapouer at melix.org> wrote:
>
>>
>>
>> On Fri, Mar 25, 2022 at 12:55 AM Jérémy Lal <kapouer at melix.org> wrote:
>>
>>>
>>>
>>> On Fri, Mar 25, 2022 at 12:23 AM Jérémy Lal <kapouer at melix.org> wrote:
>>>
>>>>
>>>>
>>>> On Fri, Mar 25, 2022 at 12:17 AM Bo YU <tsu.yubo at gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Fri, Mar 25, 2022 at 7:11 AM Bo YU <tsu.yubo at gmail.com> wrote:
>>>>>
>>>>>> On Thu, Mar 24, 2022 at 01:11:40AM +0100, Jérémy Lal wrote:
>>>>>> >   On Thu, Mar 24, 2022 at 1:05 AM Jérémy Lal <[1]kapouer at melix.org>
>>>>>> >   wrote:
>>>>>> >
>>>>>> >   --build=any
>>>>>> ...
>>>>>> >
>>>>>> >     Hi,
>>>>>> >     After several times build fails about (on riscv hardware):
>>>>>> >      collect2: fatal error: ld terminated with signal 9 [Killed]
>>>>>> >     compilation terminated.
>>>>>> >
>>>>>> >   Linking nodejs happens to use a lot of memory: make sure enough
>>>>>> swap
>>>>>> >   space is available.
>>>>>> >   (I had similar crashes with 12GB of RAM and no swap).
>>>>>> >   Or the linker is broken on riscv64... let's hope it is not.
>>>>>> >   If you happen to reach the "building deb" stage, you can disable
>>>>>> >   -dbgsym package creation,
>>>>>> >   which is very long, with another build profile: noautodbgsym.
>>>>>> >   DEB_BUILD_PROFILES="nodoc nocheck noautodbgsym
>>>>>> pkg.nodejs.nobuiltin"
>>>>>> >   Jérémy
>>>>>> Today I checkout master-16.x, and I got:
>>>>>>
>>>>> sorry, add more useful info:
>>>>> cc -o
>>>>> /home/vimer/git/nodejs/out/Release/obj.target/llhttp/deps/llhttp/src/api.o
>>>>> ../deps/llhttp/src/api.c '-DV8_DEPRECATION_WARNINGS'
>>>>> '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1'
>>>>> '-DNODE_OPENSSL_CERT_STORE' '-D__STDC_FORMAT_MACROS' -I../deps/llhttp
>>>>> -I../deps/llhttp/include  -pthread -Wall -Wextra -Wno-unused-parameter
>>>>> -fPIC -O3 -fno-omit-frame-pointer  -MMD -MF
>>>>> /home/vimer/git/nodejs/out/Release/.deps//home/vimer/git/nodejs/out/Release/obj.target/llhttp/deps/llhttp/src/api.o.d.raw
>>>>> -fPIC -g -fPIC -g -fPIC -g -fPIC -g -c
>>>>> make[3]: *** No rule to make target
>>>>> '../deps/acorn/acorn/dist/acorn.js', needed by
>>>>> '/home/vimer/git/nodejs/out/Release/obj/gen/node_javascript.cc'.  Stop.
>>>>>
>>>>
>>>> Maybe some symlink is missing, am checking it but it will take a while
>>>> to rebuild.
>>>>
>>>
>>> I pushed a fix for a mistake in debian/rules that happened while
>>> renaming "nobuiltin".
>>>
>>
>> At least it builds and produces deb packages here on amd64 without
>> depending on nodejs itself.
>>
>> It have finished about compiling phrase, but dh_missing reports error:
> make[1]: Entering directory '/home/vimer/git/nodejs'
> make[1]: awk: No such file or directory
> make[1]: awk: No such file or directory
> sed 's/@DEB_HOST_MULTIARCH@/riscv64-linux-gnu/g' debian/libnode.install >
> debian/libnode.install
> sed -e 's/@DEB_HOST_MULTIARCH@/riscv64-linux-gnu/g' -e 's/@ABI@//g'
> debian/libnode-dev.links.in > debian/libnode-dev.links
> cp debian/nodejs.install.in debian/nodejs.install
> echo "./lib /usr/share/nodejs/node/" >> debian/nodejs.install
> deps_files="deps/v8/tools/splaytree.mjs deps/v8/tools/codemap.mjs
> deps/v8/tools/consarray.mjs deps/v8/tools/csvparser.mjs
> deps/v8/tools/profile.mjs deps/v8/tools/profile_view.mjs
> deps/v8/tools/logreader.mjs deps/v8/tools/arguments.mjs
> deps/v8/tools/tickprocessor.mjs deps/v8/tools/sourcemap.mjs
> deps/v8/tools/tickprocessor-driver.mjs deps/acorn/acorn/dist/acorn.js
> deps/acorn/acorn-walk/dist/walk.js deps/cjs-module-lexer/lexer.js"; \
> for src in $deps_files; do \
>         dst=`dirname $src`; \
>         echo "./$src /usr/share/nodejs/node/$dst" >>
> debian/nodejs.install; \
> done
> # and add uncompiled acorn
> echo "./node-acorn/acorn/src /usr/share/nodejs/node/deps/acorn/acorn/" >>
> debian/nodejs.install
> echo "./node-acorn/acorn-walk/src
> /usr/share/nodejs/node/deps/acorn/acorn-walk/" >> debian/nodejs.install
> dh_install
> make[1]: Leaving directory '/home/vimer/git/nodejs'
>    debian/rules override_dh_installdocs
> make[1]: Entering directory '/home/vimer/git/nodejs'
> dh_installdocs
> find debian/nodejs-doc/usr/share/doc/nodejs-doc -name *.json -delete ||
> true
> find: 'debian/nodejs-doc/usr/share/doc/nodejs-doc': No such file or
> directory
> make[1]: Leaving directory '/home/vimer/git/nodejs'
>    dh_installchangelogs -a
>    dh_installman -a
>    dh_lintian -a
>    dh_perl -a
>    dh_link -a
>    dh_strip_nondeterminism -a
>    dh_compress -a
>    dh_fixperms -a
>    dh_missing -a
> dh_missing: warning: usr/lib/libnode.so.93 exists in debian/tmp but is not
> installed to anywhere
>         The following debhelper tools have reported what they installed
> (with files per package)
>          * dh_install: libnode-dev (179), libnode93 (0), nodejs (72),
> nodejs-doc (0)
>          * dh_installdocs: libnode-dev (0), libnode93 (0), nodejs (0),
> nodejs-doc (0)
>          * dh_installman: libnode-dev (0), libnode93 (0), nodejs (1),
> nodejs-doc (0)
>         If the missing files are installed by another tool, please file a
> bug against it.
>         When filing the report, if the tool is not part of debhelper
> itself, please reference the
>         "Logging helpers and dh_missing" section from the "PROGRAMMING"
> guide for debhelper (10.6.3+).
>           (in the debhelper package:
> /usr/share/doc/debhelper/PROGRAMMING.gz)
>         Be sure to test with dpkg-buildpackage -A/-B as the results may
> vary when only a subset is built
>         If the omission is intentional or no other helper can take care of
> this consider adding the
>         paths to debian/not-installed.
> dh_missing: error: missing files, aborting
> make: *** [debian/rules:186: binary-arch] Error 255
> dpkg-buildpackage: error: debian/rules binary-arch subprocess returned
> exit status 2
>
> Will fix debian/not-installed?
>

./debian/rules assumes you have /usr/bin/awk which is provided by gawk


> BTW, We have sole cmd execute after dh_missing phrase? if not rebuilt
> again it will save many times.
>

Either add --no-pre-clean to dpkg-buildpackage or add
--debbuildopt="--no-pre-clean" to sbuild.
That might work...

Jérémy

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20220325/da909155/attachment.htm>


More information about the Pkg-javascript-devel mailing list