Installing node package using tools

When configuring the installation of a specific version of NodeJs, when running the tests I came across some dependency errors. Are these dependencies also resolved by installing via tools? Could someone help me please.
See the test log below

[Pipeline] {

[Pipeline] stage

[Pipeline] { (Declarative: Tool Install)

[Pipeline] tool

Unpacking https://nodejs.org/dist/v21.6.0/node-v21.6.0-linux-x64.tar.gz to /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/node_v18 on Jenkins

[Pipeline] envVarsForTool

[Pipeline] }

[Pipeline] // stage

[Pipeline] withEnv

[Pipeline] {

[Pipeline] stage

[Pipeline] { (Clone)

[Pipeline] tool

[Pipeline] envVarsForTool

[Pipeline] withEnv

[Pipeline] {

[Pipeline] git

The recommended git tool is: NONE

using credential gitlab

skipping resolution of commit remotes/origin/nextjs, since it originates from another repository

git rev-parse refs/remotes/origin/nextjs^{commit} # timeout=10

Checking out Revision fc201da8a2292848e865755c00a41ef10df797e0 (refs/remotes/origin/nextjs)

git config core.sparsecheckout # timeout=10

git checkout -f fc201da8a2292848e865755c00a41ef10df797e0 # timeout=10

git branch -a -v --no-abbrev # timeout=10

git checkout -b nextjs fc201da8a2292848e865755c00a41ef10df797e0 # timeout=10

Commit message: “Update tsconfig.json”

git rev-list --no-walk 70afbf3b7bd1e2ed50935bec69f07c59ca6f8adb # timeout=10

[Pipeline] }

[Pipeline] // withEnv

[Pipeline] }

[Pipeline] // stage

[Pipeline] stage

[Pipeline] { (Build)

[Pipeline] tool

[Pipeline] envVarsForTool

[Pipeline] withEnv

[Pipeline] {

[Pipeline] sh

  • node --version

node: /lib64/libm.so.6: version `GLIBC_2.27’ not found (required by node)

node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by node)

node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9’ not found (required by node)

node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found (required by node)

node: /lib64/libc.so.6: version `GLIBC_2.27’ not found (required by node)

node: /lib64/libc.so.6: version `GLIBC_2.28’ not found (required by node)

node: /lib64/libc.so.6: version `GLIBC_2.25’ not found (required by node)

It seems that your node version is closely tied to a specific set of essential libraries. I don’t believe installing node via tools would resolve this issue.

How did you install node on your agent in a way that resulted in node being unable to locate its dependent libraries?

This is the first package I am installing using Jenkins tools. All others were installed manually via Linux binary

For this specific project, I need a different version of Nodejs, so the possibility of keeping the current version, installed manually and installing the new version using Jenkins tools

What OS and version are you trying to run this? Newer nodejs version need a recent Linux with correspondingly new versions of glibc

I’m running on Centos 7, with glibc version 2.17.
I understand what you said, so I would like to install this specific version, using the Jenkins tools. Because if I update glibc and its components directly on the server, I can break other builds from other projects

You can’t run that nodejs version on the OS. It will just not run. If you can’t update the OS you will need to setup a new machine with a newer OS that contains a glibc version that works with nodejs.
(CentOS 7 is 9 years old and has End of life on June 30th 2024, so you should consider anyway to migrate to a new OS).

1 Like

Thanks Markus!
@Junior-Villa please have a look at End of life operating systems .