buildroot.busybox.net archive mirror
 help / color / mirror / Atom feed
From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Alexandru Ardelean <ardeleanalex@gmail.com>
Cc: fontaine.fabrice@gmail.com, aduskett@gmail.com, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 00/13] package/nodejs: rework cross-building
Date: Tue, 9 Aug 2022 13:42:00 +0200	[thread overview]
Message-ID: <20220809134200.66762b0a@windsurf> (raw)
In-Reply-To: <20220809075704.86472-1-ardeleanalex@gmail.com>

Hello Alexandru,

First of all, thanks a lot for your work on NodeJS. It is obviously a
complex package, which has already seen quite a lot of effort, so we
need to be careful when changing it.

On Tue,  9 Aug 2022 10:56:51 +0300
Alexandru Ardelean <ardeleanalex@gmail.com> wrote:

> I tried to build nodejs from Buildroot master, but I couldn't.
> It could be that I did not setup something properly with regards to the
> 'v8-qemu-wrapper' stuff. I kept getting execution errors, when trying to
> run the nodejs build-tools scripts (see details in the patches).
> Either the host-qemu stuff isn't working correctly, or it needs some extra
> setup.

I will give a test to your patch series and report back, but I'm
fearing that PATCH 03/18 will break the build.

> That eventually sent me down the rabbit-hole of trying to get nodejs to
> build for ARM64 (where I wanted it). It seems that nodejs cross-building
> can be done via their own infra-structure, which isn't perfect, but it
> seems usable; and it also looks like a good idea.
> 
> Using their cross-building stuff, has some issues/considerations:
> * it's easiest when building a 32/64-bit target on a (same bit-width) 
>   32/64-bit host; the host-{c-ares,icu,libuv,zlib} tools can be used
>   for nodejs' host tools (in their cross-build infrastructure/tools)
> * when building a 32-bit target on a 64-bit host, the nodejs cross-building
>   logic will add the -m32 CFLAG, which will mean that the
>   host-{c-ares,icu,libuv,zlib} tools will be unusable (they got compiled
>   for 64-bit and are un-linkable to 32-bit binaries)
>   This requires that the user install on their system the
>   host-{c-ares,icu,libuv,zlib} 32 bit versions. I suspect that the
>   BR2_HOSTARCH_NEEDS_IA32_{LIBS,COMPILER} symbols are intented for this
> * I haven't tried to build 64-bit targets on 32-bit hosts, though I'd
>   guess this is a rare corner case.

No, unfortunately it is not. A solution that doesn't support building a
64-bit target on a 32-bit host is not going to be acceptable for
Buildroot at this point I'm afraid.

I will try to have a look in more details, even though I must say I'm
pretty hermetic to the overall NodeJS build system :-/

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  parent reply	other threads:[~2022-08-09 11:42 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-09  7:56 [Buildroot] [PATCH 00/13] package/nodejs: rework cross-building Alexandru Ardelean
2022-08-09  7:56 ` [Buildroot] [PATCH 01/13] package/libuv: add host-build Alexandru Ardelean
2022-08-09  7:56 ` [Buildroot] [PATCH 02/13] package/nghttp2: " Alexandru Ardelean
2022-08-09  7:56 ` [Buildroot] [PATCH 03/13] nodejs: remove v8-qemu-wrapper stuff Alexandru Ardelean
2022-08-09 11:49   ` Thomas Petazzoni via buildroot
2022-08-09 12:52     ` Alexandru Ardelean
2022-08-09  7:56 ` [Buildroot] [PATCH 04/13] nodejs: fix 'Duplicate v8 target errors when cross-compiling' error Alexandru Ardelean
2022-08-09  7:56 ` [Buildroot] [PATCH 05/13] package/nodejs: add host-{c-ares, libuv, nghttp2} to deps Alexandru Ardelean
2022-08-09  7:56 ` [Buildroot] [PATCH 06/13] package/nodejs: provide {CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS}_host env vars to target-build Alexandru Ardelean
2022-08-09  7:56 ` [Buildroot] [PATCH 07/13] package/nodejs: don't install nodejs host-tools Alexandru Ardelean
2022-08-09  7:56 ` [Buildroot] [PATCH 08/13] package/nodejs: rename LDFLAGS.host -> LDFLAGS opt Alexandru Ardelean
2022-08-09  7:57 ` [Buildroot] [PATCH 09/13] package/nodejs: impose dep on ia32 libs/compiler if target arch not 64 bits Alexandru Ardelean
2022-08-09  7:57 ` [Buildroot] [PATCH 10/13] package/nodejs: add host-zlib depedency to target package Alexandru Ardelean
2022-08-09  7:57 ` [Buildroot] [PATCH 11/13] package/nodejs: fix ARM build with VFP3 instruction Alexandru Ardelean
2022-08-09  7:57 ` [Buildroot] [PATCH 12/13] package/nodejs: add a hack to cross-compile 32-bit targets on x64 hosts Alexandru Ardelean
2022-08-09  7:57 ` [Buildroot] [PATCH 13/13] package/nodejs: build host-nodejs only if we're installing modules with NPM Alexandru Ardelean
2022-08-09 11:42 ` Thomas Petazzoni via buildroot [this message]
2022-08-09 12:48   ` [Buildroot] [PATCH 00/13] package/nodejs: rework cross-building Alexandru Ardelean
2022-08-10 21:23 ` Thomas Petazzoni via buildroot
2022-08-11  7:48   ` Alexandru Ardelean
2022-09-25  8:27 ` Thomas Petazzoni
2022-09-25 15:17   ` Alexandru Ardelean
2022-09-25 16:15     ` Alexandru Ardelean
2022-09-25 18:41       ` Thomas Petazzoni
2022-09-26 13:11         ` Alexandru Ardelean

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220809134200.66762b0a@windsurf \
    --to=buildroot@buildroot.org \
    --cc=aduskett@gmail.com \
    --cc=ardeleanalex@gmail.com \
    --cc=fontaine.fabrice@gmail.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).