Hi Jason, thanks for looking into this. The nodejs itself builds fine (as does everything in core-image-minimal).
The issue is that when nodejs-native is used during the build, it produces files with wrong ownership as pseudo fails to intercept the io_uring calls from libuv leading to do_package (KeyError: 'getpwuid(): uid not found) or do_package_qa (host-user-contamination) as described in https://bugzilla.yoctoproject.org/show_bug.cgi?id=15244 which also contains the reproducer for this issue. The 0001-deps-disable-io_uring-support-in-libuv.patch you've added in previous upgrade is clearly wrong, but even after fixing it (and even restoring more changes from previous nodejs version) it still fails. Regards, On Sun, Dec 8, 2024 at 9:41 AM J. S. <[email protected]> wrote: > > Martin, > > Building against master-next of meta-openembedded and master-next of > oe-core, with the pam patch reverted (so that I'm building with libpam > 1.6.1) I don't encounter issues building core-image-minimal. I'm > using clang and including nodejs 22.12.0 in my image. > > For me, the build completes successfully. I don't doubt that you are > seeing a problem. I would really like to understand why I'm not > seeing it in my environment. Perhaps you have different PACKAGECONFIG > variables set? > > Thanks, > Jason Schonberg > > === > MACHINE="raspberrypi5" > DL_DIR="/home/jason/yocto-downloads" > LICENSE_FLAGS_ACCEPTED:append = "commercial synaptics-killswitch" > TOOLCHAIN = "clang" > DISTRO_FEATURES += "ld-is-lld opengl ptest systemd usrmerge x11" > CORE_IMAGE_EXTRA_INSTALL += "nodejs" > === > BBLAYERS ?= " \ > /home/jason/yocto/poky/meta \ > /home/jason/yocto/poky/meta-poky \ > /home/jason/yocto/poky/meta-yocto-bsp \ > /home/jason/yocto/meta-clang \ > /home/jason/yocto/meta-raspberrypi \ > /home/jason/yocto/meta-openembedded/meta-oe \ > /home/jason/yocto/meta-openembedded/meta-python \ > /home/jason/yocto/meta-openembedded/meta-perl \ > /home/jason/yocto/meta-openembedded/meta-networking \ > /home/jason/yocto/meta-openembedded/meta-gnome \ > /home/jason/yocto/meta-openembedded/meta-multimedia \ > /home/jason/yocto/meta-openembedded/meta-xfce \ > /home/jason/yocto/meta-openembedded/meta-webserver \ > " > === > Build Configuration: > BB_VERSION = "2.9.1" > BUILD_SYS = "x86_64-linux" > NATIVELSBSTRING = "universal" > TARGET_SYS = "aarch64-poky-linux" > MACHINE = "raspberrypi5" > DISTRO = "poky" > DISTRO_VERSION = "5.1" > TUNE_FEATURES = "aarch64 crypto cortexa76" > TARGET_FPU = "" > meta > meta-poky > meta-yocto-bsp = "master-next:fea80002d5a2cb1d02c6dd4fa6bb91a0475b5319" > meta-clang = "master:147349b7334b8a25b96bb08c2361ae0ae95e7eb6" > meta-raspberrypi = "master:aea47ad612bcfbfe07fb941694d3012e018607c0" > meta-oe > meta-python > meta-perl > meta-networking > meta-gnome > meta-multimedia > meta-xfce > meta-webserver = "master-next:c22d454157d2c16f14bbfeffddefb6281cdafd1d" > > On Sat, Dec 7, 2024 at 10:59 AM J. S. <[email protected]> wrote: > > > > I'm currently seeing a failure building libpam using clang on aarch64. > > But I think that is related to the recent upgrade of the libpam recipe > > to version 1.7.0. > > > > | aarch64-poky-linux-ld.lld: error: version script assignment of > > 'global' to symbol 'pam_sm_acct_mgmt' failed: symbol not defined > > | aarch64-poky-linux-ld.lld: error: version script assignment of > > 'global' to symbol 'pam_sm_chauthtok' failed: symbol not defined > > | aarch64-poky-linux-ld.lld: error: version script assignment of > > 'global' to symbol 'pam_sm_close_session' failed: symbol not defined > > | aarch64-poky-linux-ld.lld: error: version script assignment of > > 'global' to symbol 'pam_sm_open_session' failed: symbol not defined > > | aarch64-poky-linux-clang: error: linker command failed with exit > > code 1 (use -v to see invocation) > > > > On Sat, Dec 7, 2024 at 9:08 AM Martin Jansa <[email protected]> wrote: > > > > > > This seems to reintroduce io_uring support in embedded libuv from: > > > https://github.com/nodejs/node/pull/55114/files > > > > > > 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 > > > ) 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). > > > > > > 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 (#114226): https://lists.openembedded.org/g/openembedded-devel/message/114226 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]] -=-=-=-=-=-=-=-=-=-=-=-
