[Pkg-javascript-devel] help to port nodejs to Debian riscv

Bo YU tsu.yubo at gmail.com
Mon Mar 14 11:23:59 GMT 2022


Hi,

On Mon, Mar 14, 2022 at 10:14 AM Bo YU <tsu.yubo at gmail.com> wrote:

> ping?
>
> On Sat, Mar 12, 2022 at 9:38 PM Bo YU <tsu.yubo at gmail.com> wrote:
>
>>
>>
>> On Fri, Mar 11, 2022 at 10:35 PM Jérémy Lal <kapouer at melix.org> wrote:
>>
>>>
>>>
>>> On Fri, Mar 11, 2022 at 3:26 PM vimer <tsu.yubo at gmail.com> wrote:
>>>
>>>> Hi,
>>>> On Fri, Mar 11, 2022 at 10:12:49AM +0100, Jérémy Lal wrote:
>>>> >   On Fri, Mar 11, 2022 at 6:03 AM Yadd <[1]yadd at debian.org> wrote:
>>>> >
>>>> >     On 11/03/2022 04:29, Bo YU wrote:
>>>> >     > hi
>>>> >     >
>>>> >     > On Thu, Mar 10, 2022 at 6:45 PM Jérémy Lal <[2]
>>>> kapouer at melix.org
>>>> >     > <mailto:[3]kapouer at melix.org>> wrote:
>>>> >     >
>>>> >     >
>>>> >     >
>>>> >     >     On Thu, Mar 10, 2022 at 11:26 AM Bo YU <[4]
>>>> tsu.yubo at gmail.com
>>>> ...
>>>> >     >
>>>> >     >         E: Unable to correct problems, you have held broken
>>>> >     packages.
>>>> >     >         apt-get failed.
>>>> >     >         E: Package installation failed
>>>> >     >         ```
>>>> >     >         This may be a common error on Debian riscv arch. I am
>>>> >     thinking
>>>> >     >         that I have to build from a package without
>>>> >     node-*dependencies?
>>>> >     >         Below is my operations step how to build(please point to
>>>> >     me
>>>> >     >         wrong as I am newbie to gbp also):
>>>> >     >         1. git clone
>>>> >     >               git clone git at salsa.debian.org:js-team/nodejs.git
>>>> >     >         2. checkout 16.14
>>>> >     >               git checkout -b main origin/master-16.x
>>>> >     >                git checkout -b upstream origin/upstream-16.x //
>>>> >     not need -b
>>>> >     >               git checkout -b pristine-tar origin/pristine-tar
>>>> //
>>>> >     not
>>>> >     >         need -b also
>>>> >     >                git checkout main
>>>> >     >         3. gbp buildpackage --git-pbuilder --git-submodules
>>>> >     >         --git-upstream-branch='upstream/16.14'
>>>> >     --git-debian-branch=main
>>>> >     >         --git-no-pristine-tar --git-upstream-tree=tag
>>>> >     --git-ignore-new
>>>> >     >         -sa // the step to generate *.orig.tar.gz file. But I do
>>>> >     not
>>>> >     >         have the base directory /var/cache/pbuilder/base.cow and
>>>> >     it fail
>>>> >     >         at last(*.orig.tzr.gz has been generated)
>>>> >     >
>>>> >     >
>>>> >     >     You can do it a bit simpler because of the debian/gbp.conf
>>>> >     file, so
>>>> >     >     no need to rename any branch at all.
>>>> >     >     git checkout master-16.x
>>>> >     >     gbp buildpackage --git-pbuilder --git-ignore-new -sa
>>>> >     >
>>>> >     >         4. execute ` sudo sbuild --arch=riscv64 -d
>>>> >     sid-riscv64-sbuild `
>>>> >     >         and got above errors.
>>>> >     >
>>>> >     >         Just as I am editing the email, Suddenly IT occurred to
>>>> >     me,
>>>> >     >         maybe the distribution sid should be experimental,
>>>> right?
>>>> >     >
>>>> >     >
>>>> >     >     yes, as i wrote above, those flags will need to be set (i
>>>> >     don't know
>>>> >     >     if gbp pass them along to pbuilder correctly, but that's the
>>>> >     idea):
>>>> >     >     -d experimental '--extra-repository=deb
>>>> >     [18]http://deb.debian.org/debian
>>>> >     >     <[19]http://deb.debian.org/debian> experimental main'
>>>> >     >     --build-dep-resolver=aspcud
>>>> >     >
>>>> >     >     Also you really will want to use the
>>>> DEB_BUILD_PROFILES="nodoc
>>>> >     >     nocheck nobuiltin"
>>>> >     >
>>>> >     > I build it(last 17+ h) with your help.
>>>> >     > vimer at debian-local:~/build_test/nodejs/nodejs$ ls ../
>>>> >     > libnode93_16.14.0~dfsg-1_riscv64.deb
>>>> >     > nodejs_16.14.0~dfsg-1_riscv64.buildinfo
>>>> >     > libnode93-dbgsym_16.14.0~dfsg-1_riscv64.deb
>>>> >     >   nodejs_16.14.0~dfsg-1_riscv64.changes
>>>> >     > libnode-dev_16.14.0~dfsg-1_riscv64.deb
>>>> >     > nodejs_16.14.0~dfsg-1_riscv64.deb
>>>> >     > master-16.x
>>>> >     >   nodejs-16.14.0~dfsg.obsolete.1646911112.6398954
>>>> >     > nodejs
>>>> >     > nodejs-16.14.0~dfsg.obsolete.1646911132.04706
>>>> >     > nodejs-16.14.0~dfsg
>>>> >     >   nodejs_16.14.0~dfsg.orig-node-acorn.tar.xz
>>>> >     > nodejs_16.14.0~dfsg-1_amd64.build
>>>> >     nodejs_16.14.0~dfsg.orig.tar.xz
>>>> >     > nodejs_16.14.0~dfsg-1.debian.tar.xz
>>>> >     >   nodejs_16.14.0~dfsg.orig-types-node.tar.xz
>>>> >     > nodejs_16.14.0~dfsg-1.dsc
>>>> >     >   nodejs-dbgsym_16.14.0~dfsg-1_riscv64.deb
>>>> >     > nodejs_16.14.0~dfsg-1_riscv64.build
>>>> >     >   nodejs-doc_16.14.0~dfsg-1_all.deb
>>>> >     >   But there are mirror error :
>>>> >     > ···
>>>> >     > dwz: debian/libnode93/usr/lib/riscv64-linux-gnu/libnode.so.93:
>>>> Too
>>>> >     many
>>>> >     > DIEs, not optimizing
>>>> >     > dh_dwz: error: dwz --max-die-limit 100000000 --
>>>> >
>>>> >   Hi Yadd, Bo,
>>>> >   That failure is not fatal and happens on some other archs too, you
>>>> >   don't really need to fix it.
>>>> >   Anyway once you built nodejs on riscv64 with DEB_BUILD_PROFILES as
>>>> >   above,
>>>> >   you should now try to build all the build-dependencies of nodejs
>>>> that
>>>> >   themselves depend on nodejs
>>>> >   (they have the <!nocheck> or <!nodoc> flag in debian/control).
>>>> I checked those package with above tags, they are:
>>>>      sse2-support [i386]
>>>>      curl
>>>>      node_acron
>>>>      openssl
>>>>      pkg_js_tools
>>>>      procps
>>>>      node-js-yaml
>>>>      node-marked
>>>>      node-highlights.js
>>>> In fact, I must first resolve compiling Node-* package separately,
>>>> right?
>>>>
>>>
>>> Attention: those packages must be rebuilt
>>> with DEB_BUILD_PROFILES="nocheck"
>>> or else you'll have to face a dependency hell, which i'm not sure you
>>> will not fall into anyway :)
>>>
>>> I try to build the pkg-js-tools package firstly(maybe it has the minimum
>> dependency of node, at last, it can build startup).
>> 1. DEB_BUILD_PROFILES="nocheck"
>> 2. sudo sbuild --arch=riscv64 -d sid-riscv64-sbuild
>> --extra-package=/home/vimer/nodejs_riscv64_debs/
>> the ` --extra-package`  argument is path the point to  riscv64 nodejs-*
>> deb packages last time build. It seem like to start build, but at last get:
>> ···
>> dh_auto_configure: error: unable to load build system class 'nodejs':
>> Can't locate JSON.pm in @INC (you may need to install the JSON module)
>> (@INC contains: /<<PKGBUILDDIR>>/blib/lib /<<PKGBUILDDIR>>/blib/arch
>> /etc/perl /usr/local/lib/riscv64-linux-gnu/perl/5.34.0
>> /usr/local/share/perl/5.34.0 /usr/lib/riscv64-linux-gnu/perl5/5.34
>> /usr/share/perl5 /usr/lib/riscv64-linux-gnu/perl-base
>> /usr/lib/riscv64-linux-gnu/perl/5.34 /usr/share/perl/5.34
>> /usr/local/lib/site_perl .) at
>> /<<PKGBUILDDIR>>/blib/lib/Debian/Debhelper/Buildsystem/nodejs.pm line 12.
>> BEGIN failed--compilation aborted at
>> /<<PKGBUILDDIR>>/blib/lib/Debian/Debhelper/Buildsystem/nodejs.pm line 12.
>> Compilation failed in require at (eval 2) line 1.
>> BEGIN failed--compilation aborted at (eval 2) line 1.
>>
>> dh_additional.t: error: dh_auto_configure --buildsystem=nodejs subprocess
>> returned exit status 25
>> # Looks like your test exited with 25 before it could output anything.
>> t/dh_additional.t ..........
>> 1..19
>> Dubious, test returned 25 (wstat 6400, 0x1900)
>> Failed 19/19 subtests
>>  ...
>> In fact, I have looked into dh_auto_configure usage to see what it is,
>> but have nothing to get. Could you to help find some clues
>> to train it? thank again!
>> BR,
>> Bo
>>
>> Another question: How can i add  nodejs's build-dependencies package in
>>>> riscv64
>>>> vm as described in previous mail, For example, after building
>>>> node_acron package
>>>>
>>>
>>> It depends on your tools. --extra-package, --extra-repository are the
>>> options you need to look into.
>>>
>>> Jérémy
>>>
>> I do not know why I do not receive yadd's email sent on 12/03, and he has
told me do not to  rebuild pkg-js-tools:
https://alioth-lists.debian.net/pipermail/pkg-javascript-devel/2022-March/063871.html

Thanks for all
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20220314/827a40f4/attachment.htm>


More information about the Pkg-javascript-devel mailing list