[Pkg-javascript-devel] help to port nodejs to Debian riscv
Bo YU
tsu.yubo at gmail.com
Mon Mar 14 02:14:52 GMT 2022
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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20220314/9b1d8a9d/attachment.htm>
More information about the Pkg-javascript-devel
mailing list