All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Giulio Benetti <giulio.benetti@benettiengineering.com>
Cc: buildroot@buildroot.org, Martin Bark <martin@barkynet.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Daniel Price <daniel.price@gmail.com>
Subject: Re: [Buildroot] [PATCH] package/nodejs/nodejs-src: remove .node files with different architecture
Date: Fri, 3 Nov 2023 22:21:51 +0100	[thread overview]
Message-ID: <20231103212151.GA2875@scaer> (raw)
In-Reply-To: <26fabf07-fc17-421b-9cbb-fb721bf63374@benettiengineering.com>

Giulio, All,

On 2023-11-03 00:16 +0100, Giulio Benetti spake thusly:
> On 01/11/23 16:21, Yann E. MORIN wrote:
> >On 2023-10-31 13:07 +0100, Giulio Benetti spake thusly:
[--SNIP--]
> >There's also binding.gyp that looks like it lists what to build under
> >which condition.
> yes, .gyp file is another build system, same Mozilla adopted for NSS(maybe
> something else):
> https://gyp.gsrc.io/index.md
> But NodeJS seems to deal with it without the need to add a gyp infra.
> >In which case, how does npm decide that it can use one such prebuild, or
> >whether it should compile from the source files? Can we force it to
> >never use prebuilds and always compile?
> I'm working on this after your review,

Great!

If we can make without the prebuild stuff: is the "prebuilds" directory
name a norm, and if so, can we forcibly remove them in one fell swoop?

> >So yes, npm is such a mess that maybe sweeping the dust under the rug is
> >the only solution we can implement, but it is disappointing...
> I think it's not the way to go because of libc, that changes everything,

Well, I would assume that npm has "magic" to choose the proper prebuilt.
Otherwise, it would not even have the libc as a criteria in the
prebuilds name.

> >Maybe we can just also exclude the node modules from check-bin-arch
> >altogether and be done with it:
> >     NODEJS_SRC_BIN_ARCH_EXCLUDE = /usr/lib/node_modules/
> This ^^^ doesn't fix the libc problem. If you nm:
> target/usr/lib/node_modules/serialport/bindings-cpp/build/Release/bindings.node
> you will see that NodeJS assume native code to be built with glibc, so

Oh, I was just walking the "npm is a mess anyway, just ignore anything
from it, we don't care" road. If we take this stance, then
_BIN_ARCH_EXCLUDE is a trivial way to avoid the check-bin-arch issue.

And I am fine if this is the outcome of your investigations.

> I really need to go with building from scratch. And this works using:
> npm rebuild ...
> but I'm dealing with installation that is not so easy.
> Once I have it building natively with correct libc I will send a patch.

If we can get something that is "relatively" simple, easy, *and*
maintenable, then that's OK. But itherwise, I would say we should not
spend any unreasonable amount of time on the topic...

Thanks for looking into this mess, anyway! 👍 :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  parent reply	other threads:[~2023-11-03 21:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-31 12:07 [Buildroot] [PATCH] package/nodejs/nodejs-src: remove .node files with different architecture Giulio Benetti
2023-11-01 15:21 ` Yann E. MORIN
2023-11-02 23:16   ` Giulio Benetti
2023-11-02 23:43     ` Giulio Benetti
2023-11-03 21:21     ` Yann E. MORIN [this message]
2023-11-05 14:27       ` Giulio Benetti
2023-11-07 16:15         ` Yann E. MORIN
2023-11-07 20:08           ` Arnout Vandecappelle via buildroot
2023-11-07 20:40             ` Yann E. MORIN

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=20231103212151.GA2875@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=daniel.price@gmail.com \
    --cc=giulio.benetti@benettiengineering.com \
    --cc=martin@barkynet.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.