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

vimer tsu.yubo at gmail.com
Fri Mar 11 14:26:49 GMT 2022


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?

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

Thank you, :-)

BR,
Bo

>   Once that is done, you can rebuild nodejs without DEB_BUILD_PROFILES at
>   all, and upload it to experimental.
>   Jérémy
>
>References
>
>   1. mailto:yadd at debian.org
>   2. mailto:kapouer at melix.org
>   3. mailto:kapouer at melix.org
>   4. mailto:tsu.yubo at gmail.com
>   5. mailto:tsu.yubo at gmail.com
>   6. mailto:kapouer at melix.org
>   7. mailto:kapouer at melix.org
>   8. mailto:tsu.yubo at gmail.com
>   9. mailto:tsu.yubo at gmail.com
>  10. mailto:yadd at debian.org
>  11. mailto:yadd at debian.org
>  12. https://github.com/nodejs/build/issues/2876
>  13. https://github.com/nodejs/build/issues/2876
>  14. https://salsa.debian.org/js-team/nodejs.git
>  15. https://salsa.debian.org/js-team/nodejs.git
>  16. http://deb.debian.org/debian
>  17. http://deb.debian.org/debian
>  18. http://deb.debian.org/debian
>  19. http://deb.debian.org/debian



More information about the Pkg-javascript-devel mailing list