s2i-nodejs-container icon indicating copy to clipboard operation
s2i-nodejs-container copied to clipboard

RHEL10 and NodeJS 24 failures

Open phracek opened this issue 3 months ago • 3 comments

In our CI NodeJS 10 for version 24 and 24-minimal failed for this reason.

 nodejs-nodemon-3.0.3-5.el10.noarch                  ubi-10-appstream-rpms          620.9 kB
 nodejs24-1:24.4.1-5.el10.x86_64                     rhel-10-server-appstream-rpms   65.6 kB
 nodejs24-full-i18n-1:24.4.1-5.el10.x86_64           rhel-10-server-appstream-rpms    9.0 MB
 nodejs24-libs-1:24.4.1-5.el10.x86_64                rhel-10-server-appstream-rpms   22.2 MB
 nodejs24-npm-1:11.4.2-1.24.4.1.5.el10.noarch        rhel-10-server-appstream-rpms    2.7 MB
 tar-2:1.35-7.el10.x86_64                            ubi-10-baseos-rpms             887.1 kB
 which-2.21-44.el10_0.x86_64                         ubi-10-baseos-rpms              43.0 kB
Downgrading:                                                                                
 openssl-libs-1:3.2.2-16.el10.x86_64                 rhel-10-for-x86_64-baseos-rpms   2.2 MB
   replacing openssl-libs-1:3.2.2-16.el10_0.4.x86_64                                        
Transaction Summary:
 Installing:        8 packages
 Reinstalling:      0 packages
 Upgrading:         0 packages
 Obsoleting:        0 packages
 Removing:          0 packages
 Downgrading:       1 packages
Downloading packages...
Running transaction test...
Downgrading: openssl-libs;1:3.2.2-16.el10;x86_64;rhel-10-for-x86_64-baseos-rpms
Installing: libbrotli;1.1.0-6.el10;x86_64;ubi-10-baseos-rpms
Installing: nodejs24-libs;1:24.4.1-5.el10;x86_64;rhel-10-server-appstream-rpms
Installing: nodejs24-full-i18n;1:24.4.1-5.el10;x86_64;rhel-10-server-appstream-rpms
Installing: nodejs24-npm;1:11.4.2-1.24.4.1.5.el10;noarch;rhel-10-server-appstream-rpms
Installing: nodejs24;1:24.4.1-5.el10;x86_64;rhel-10-server-appstream-rpms
Installing: nodejs-nodemon;3.0.3-5.el10;noarch;ubi-10-appstream-rpms
Installing: which;2.21-44.el10_0;x86_64;ubi-10-baseos-rpms
Installing: tar;2:1.35-7.el10;x86_64;ubi-10-baseos-rpms
Cleanup: openssl-libs;1:3.2.2-16.el10_0.4;x86_64;installed
Complete.
Complete.
node: symbol lookup error: /lib64/libnode.so.137: undefined symbol: EVP_MD_CTX_get_size_ex, version OPENSSL_3.4.0
Error: building at STEP "RUN INSTALL_PKGS="nodejs$NODEJS_VERSION nodejs-nodemon nodejs$NODEJS_VERSION-full-i18n nodejs$NODEJS_VERSION-npm findutils tar which" &&     microdnf -y --nodocs --setopt=install_weak_deps=0 install $INSTALL_PKGS &&     microdnf clean all &&     ln -s /usr/bin/node-$NODEJS_VERSION /usr/bin/node &&     ln -s /usr/bin/npm-$NODEJS_VERSION /usr/bin/npm &&     ln -s /usr/bin/npx-$NODEJS_VERSION /usr/bin/npx &&     node -v | grep -qe "^v$NODEJS_VERSION\." && echo "Found VERSION $NODEJS_VERSION" &&     rm -rf /mnt/rootfs/var/cache/* /mnt/rootfs/var/log/dnf* /mnt/rootfs/var/log/yum.*": while running runtime: exit status 1

phracek avatar Oct 09 '25 08:10 phracek

openssl-libs NVR from output:

openssl-libs;1:3.2.2-16.el10_0

linker is looking for the EVP_MD_CTX_get_size_ex@OPENSSL_3.4.0 symbol as nodejs24 requires it according to output nm -D /usr/lib/libnode.so.137. This isn't expected for RHEL 10.0, but we aren't nodejs:24 there. https://issues.redhat.com/browse/RHEL-105518

I think this is result of mismatched container content. IOW in the current time, ubi10-minimal is not well fit for testing nodejs24

Though interesting the regular 24 containers on RHEL 10 passed, it brought in the new-enough dependency from the additional repos, microdnf seems to not have found the new-enough openssl and instead we see "downgrading" in the output for openssl-libs.

jackorp avatar Oct 09 '25 09:10 jackorp

Though interesting the regular 24 containers on RHEL 10 passed, it brought in the new-enough dependency from the additional repos, microdnf seems to not have found the new-enough openssl and instead we see "downgrading" in the output for openssl-libs.

Shouldn't the regular 24 containers appear in the RH registry then? I don't see any 24 release in the list: https://catalog.redhat.com/en/search?searchType=All&q=node.js+24&p=1

arcanis avatar Oct 20 '25 14:10 arcanis

Shouldn't the regular 24 containers appear in the RH registry then? I don't see any 24 release in the list:

This issue discusses tests for building containers and some of our example/test apps.

Here "regular 24 containers on RHEL 10" means tests for nodejs-24 based on UBI10 with necessary repos mixed in to bring in current builds of relevant RPMs. Not nodejs-24-minimal tests based on the minimal containers. These are preliminary tests running internally on potentially pre-release content. The tests are ran ahead of release to ensure continual readiness and least amount of surprises for us as maintainers down the road.

The artifacts are not GA'd as of yet.

jackorp avatar Oct 21 '25 12:10 jackorp