[Pkg-javascript-devel] help to port nodejs to Debian riscv
Jérémy Lal
kapouer at melix.org
Fri Mar 11 14:34:44 GMT 2022
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 :)
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/20220311/9bcfc0cf/attachment.htm>
More information about the Pkg-javascript-devel
mailing list