It doesn't fail for me with:
g++: error: unrecognized command line option ‘-std=gnu++20’; did you
mean ‘-std=gnu++2a’?

was it target nodejs or nodejs-native failing for you? I'm using
reasonably new host OS (ubuntu 20.04, 22.10, gentoo) with new enough
gcc to recognize gnu++20.

It seems to be added since v22.2.0 already with
https://github.com/nodejs/node/pull/52838
https://github.com/nodejs/node/commit/e4b187433de1f71019f248b94b11fcdd6f22c359

Did previous 22.11 build for you?

For the host-user-contaminated issues I've reported I've verified that
reverting libuv upgrade (as in
https://git.openembedded.org/meta-openembedded-contrib/commit/?h=jansa/nodejs&id=ec3963c2ec7387e3771364a1bdddea963b3ef075)
avoids this issue again, but I'm still trying to narrow it down a bit
or find some small reproducer to more easily debug pseudo (and I'm
currently failing even to capture full pseudo logs with PSEUDO_DEBUG
env variable).

So I don't mind keeping this version in master (if nobody else suffers
from these host-user-contaminated issues) unless revert to 22.11 fixes
the nodejs build for changqing (which doesn't seem likely to me).

Regards,

On Wed, Dec 11, 2024 at 11:18 AM J. S. <[email protected]> wrote:
>
> If it is easier to send a patch to revert to nodejs 22.11.0 I wouldn't oppose.
>
> On Wed, Dec 11, 2024 at 3:05 AM Martin Jansa <[email protected]> wrote:
> >
> > On Wed, Dec 11, 2024 at 4:49 AM Changqing Li <[email protected]> 
> > wrote:
> > >
> > >
> > > On 12/7/24 22:08, Martin Jansa wrote:
> > >
> > > CAUTION: This email comes from a non Wind River email account!
> > > Do not click links or open attachments unless you recognize the sender 
> > > and know the content is safe.
> > >
> > > This seems to reintroduce io_uring support in embedded libuv from:
> > > https://github.com/nodejs/node/pull/55114/files
> > >
> > > I cannot reproduce this issue since I cannot even compile nodejs 
> > > successfully,
> > >
> > > poky master qemux86-64,  do_compile failed with error:
> > >
> > > g++: error: unrecognized command line option ‘-std=gnu++20’; did you mean 
> > > ‘-std=gnu++2a’?
> > >
> > > which leads to the same issues as previous nodejs upgrade in:
> > > https://lists.openembedded.org/g/openembedded-devel/message/105583
> > > https://git.openembedded.org/meta-openembedded/commit/?id=d08453978c31ee41d28206c6ff198d7d9d701d88
> > > https://git.openembedded.org/meta-openembedded/commit/?id=0d9351e9290f6750e44ab52536bbe9268d5afac3
> > > https://git.openembedded.org/meta-openembedded/commit/?id=7bb28628991ec9be9610540401f7c6cc4c19997f
> > >
> > > pseudo still doesn't support io_uring:
> > > https://bugzilla.yoctoproject.org/show_bug.cgi?id=15244
> > >
> > > calling chown in hundreds recipes to work around pseudo limitation
> > > doesn't seem good work around.
> > >
> > > The UV_USE_IO_URING variable still exists in code (even after its
> > > documentation was removed in:
> > > https://github.com/louwers/node/commit/2b298e132d2f681270e9f3d5eb3134914653d2e1
> > >
> > > I think the problem reproduces since io_uring support is enabled again by 
> > > default in above commit, which is in 22.12.0.
> > >
> > > for now, UV_USE_IO_URING should still work, we can use export 
> > > UV_USE_IO_URING=0 to disable io_uring, but as the doc
> > >
> > > said maybe UV_USE_IO_URING will be removed in the future version. so 
> > > another option is to add a patch to disable io_uring like
> >
> > Yes, unfortunately UV_USE_IO_URING doesn't avoid this issue.
> >
> > The old minimal reproducer I was using before (com.webos.app.minimal)
> > doesn't trigger this now, only some other similar apps. I'm trying to
> > find out which exact call triggers this (as it might be faster to
> > figure out than bisecting nodejs).
> >
> > > this: 
> > > https://git.openembedded.org/meta-openembedded/diff/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch?id=0d9351e9290f6750e44ab52536bbe9268d5afac3
> > >
> > > ) but it doesn't seem to work.
> > >
> > > It's failing because the
> > > 0001-deps-disable-io_uring-support-in-libuv.patch patch restored in:
> > > https://git.openembedded.org/meta-openembedded/diff/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch?id=6652b031d7d4d9cabf16d481f3b82115f7d8e15a
> > > is wrong (it adds
> > > meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch
> > > inside nodejs source instead of patching deps/uv/src/unix/linux.c).
> > >
> > > Yes,  this patch is added wrongly.
> >
> > Should I send a patch to just remove it (as it didn't do anything
> > useful in this form) or wait a bit more until we have a complete fix?
> >
> > >
> > > //Changqing
> > >
> > > I've restored the patch properly in:
> > > https://lists.openembedded.org/g/openembedded-devel/message/114222
> > > but it still isn't enough and recipes fail in do_package or
> > > do_package_qa (depending on UID used on host).
> > > Reverting to 22.11.0 avoids the issue. Anyone else seeing this?
> > >
> > > +Changqing Li
> > >
> > >
> > >
> > > On Wed, Dec 4, 2024 at 5:54 AM J. S. via lists.openembedded.org
> > > <[email protected]> wrote:
> > >
> > > License-Update: Add JSON parsing library under MIT license.
> > >   
> > > https://github.com/nodejs/node/pull/56040/commits/27bcd103e775e00eb8d03ac37052bbd4ccb6d239
> > >
> > > Drop backported patch fix-build-with-icu-76.patch.  It is already
> > > integrated in this version 
> > > https://github.com/nodejs/node/pull/56040/commits/c3ca978d9c73d1a96f4d5c7bfa3c10ce786b8fe9
> > >
> > > Changelog: 
> > > https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V22.md#22.12.0
> > >
> > > Signed-off-by: Jason Schonberg <[email protected]>
> > > ---
> > >  .../oe-npm-cache                              |  0
> > >  ....11.bb => nodejs-oe-cache-native_22.12.bb} |  0
> > >  .../nodejs/nodejs/fix-build-with-icu-76.patch | 29 -------------------
> > >  .../{nodejs_22.11.0.bb => nodejs_22.12.0.bb}  |  5 ++--
> > >  4 files changed, 2 insertions(+), 32 deletions(-)
> > >  rename meta-oe/recipes-devtools/nodejs/{nodejs-oe-cache-22.11 => 
> > > nodejs-oe-cache-22.12}/oe-npm-cache (100%)
> > >  rename meta-oe/recipes-devtools/nodejs/{nodejs-oe-cache-native_22.11.bb 
> > > => nodejs-oe-cache-native_22.12.bb} (100%)
> > >  delete mode 100644 
> > > meta-oe/recipes-devtools/nodejs/nodejs/fix-build-with-icu-76.patch
> > >  rename meta-oe/recipes-devtools/nodejs/{nodejs_22.11.0.bb => 
> > > nodejs_22.12.0.bb} (97%)
> > >
> > > diff --git 
> > > a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.11/oe-npm-cache 
> > > b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.12/oe-npm-cache
> > > similarity index 100%
> > > rename from 
> > > meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.11/oe-npm-cache
> > > rename to 
> > > meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.12/oe-npm-cache
> > > diff --git 
> > > a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.11.bb 
> > > b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.12.bb
> > > similarity index 100%
> > > rename from 
> > > meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.11.bb
> > > rename to meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.12.bb
> > > diff --git 
> > > a/meta-oe/recipes-devtools/nodejs/nodejs/fix-build-with-icu-76.patch 
> > > b/meta-oe/recipes-devtools/nodejs/nodejs/fix-build-with-icu-76.patch
> > > deleted file mode 100644
> > > index e8501bcdb..000000000
> > > --- a/meta-oe/recipes-devtools/nodejs/nodejs/fix-build-with-icu-76.patch
> > > +++ /dev/null
> > > @@ -1,29 +0,0 @@
> > > -From 54299ac3a3d4e4520b8604dce43c2584092ccde2 Mon Sep 17 00:00:00 2001
> > > -From: Michael Cho <[email protected]>
> > > -Date: Sun, 27 Oct 2024 10:08:07 -0400
> > > -Subject: [PATCH] build: fix building with system icu 76
> > > -
> > > -ICU 76 decided to reduce overlinking[^1] thus `icu-i18n` will no longer
> > > -add `icu-uc` when linking to shared libraries. This results in undefined
> > > -symbols/references when trying to build with system ICU 76.
> > > -
> > > -[^1]: unicode-org/icu@199bc82
> > > -
> > > -Upstream-Status: Backport 
> > > [https://github.com/nodejs/node/commit/81517faceac86497b3c8717837f491aa29a5e0f9]
> > > ----
> > > - configure.py | 2 +-
> > > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > > -
> > > -diff --git a/configure.py b/configure.py
> > > -index a5f47af1748903..a4e210261e2e76 100755
> > > ---- a/configure.py
> > > -+++ b/configure.py
> > > -@@ -1879,7 +1879,7 @@ def icu_download(path):
> > > -   elif with_intl == 'system-icu':
> > > -     # ICU from pkg-config.
> > > -     o['variables']['v8_enable_i18n_support'] = 1
> > > --    pkgicu = pkg_config('icu-i18n')
> > > -+    pkgicu = pkg_config(['icu-i18n', 'icu-uc'])
> > > -     if not pkgicu[0]:
> > > -       error('''Could not load pkg-config data for "icu-i18n".
> > > -        See above errors or the README.md.''')
> > > diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.11.0.bb 
> > > b/meta-oe/recipes-devtools/nodejs/nodejs_22.12.0.bb
> > > similarity index 97%
> > > rename from meta-oe/recipes-devtools/nodejs/nodejs_22.11.0.bb
> > > rename to meta-oe/recipes-devtools/nodejs/nodejs_22.12.0.bb
> > > index 8cbf53978..194df4c33 100644
> > > --- a/meta-oe/recipes-devtools/nodejs/nodejs_22.11.0.bb
> > > +++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.12.0.bb
> > > @@ -1,7 +1,7 @@
> > >  DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
> > >  HOMEPAGE = "http://nodejs.org";
> > >  LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & 
> > > Apache-2.0"
> > > -LIC_FILES_CHKSUM = "file://LICENSE;md5=25e89142a2f4b075904a9986c45fbdb2"
> > > +LIC_FILES_CHKSUM = "file://LICENSE;md5=0bd28a461eccad39f85a29e33e8f879f"
> > >
> > >  CVE_PRODUCT = "nodejs node.js"
> > >
> > > @@ -28,7 +28,6 @@ SRC_URI = 
> > > "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
> > >             file://0001-deps-disable-io_uring-support-in-libuv.patch \
> > >             file://0001-positional-args.patch \
> > >             file://0001-custom-env.patch \
> > > -           file://fix-build-with-icu-76.patch \
> > >             file://run-ptest \
> > >             "
> > >  SRC_URI:append:class-target = " \
> > > @@ -37,7 +36,7 @@ SRC_URI:append:class-target = " \
> > >  SRC_URI:append:toolchain-clang:powerpc64le = " \
> > >             file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
> > >             "
> > > -SRC_URI[sha256sum] = 
> > > "bbf0297761d53aefda9d7855c57c7d2c272b83a7b5bad4fea9cb29006d8e1d35"
> > > +SRC_URI[sha256sum] = 
> > > "fe1bc4be004dc12721ea2cb671b08a21de01c6976960ef8a1248798589679e16"
> > >
> > >  S = "${WORKDIR}/node-v${PV}"
> > >
> > > --
> > > 2.43.0
> > >
> > >
> > > 
> > >
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#114278): 
https://lists.openembedded.org/g/openembedded-devel/message/114278
Mute This Topic: https://lists.openembedded.org/mt/109914816/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to