Operations 4 min read

Troubleshooting Node Installation Failure on Ubuntu Due to Missing GLIBC 2.28 and Recovery Steps

This article recounts a failed Node.js installation on an older Ubuntu server caused by a missing GLIBC 2.28 library, details the attempted GLIBC upgrade script that led to system-wide segmentation faults, and explains how reinstalling a newer Ubuntu version resolved the issue while emphasizing careful backup practices.

Wukong Talks Architecture
Wukong Talks Architecture
Wukong Talks Architecture
Troubleshooting Node Installation Failure on Ubuntu Due to Missing GLIBC 2.28 and Recovery Steps

Hello, I am Wukong.

Background

After deploying Jenkins, the next step is to deploy the frontend project, which uses AngularJS and therefore requires Node.js for compilation.

Installing Node

The Linux server did not have Node installed, so the binary was downloaded from the official website, extracted, and the environment variables were configured.

Running node -v produced the error:

node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)

The message indicates that Node requires GLIBC 2.28, which is absent on the current system.

Searching online suggested upgrading the glibc library.

GLIBC 2.28 Upgrade Script

A blog provided the following upgrade script:

# 解压安装包
$ tar -xJf glibc-2.28.tar.xz
$ cd glibc-2.28/
$ mkdir build
$ cd build
# 配置源代码包,以便在系统上进行编译和安装。
$ ../configure --prefix=/usr
$ make

The script performs three actions: extracting the package, configuring the source, and compiling.

Extract the installation package

Configure the source code

Compile

Executing the script resulted in a “segmentation fault”. After that, every command produced the same fault, SSH could not connect, and a reboot left the system stuck on a black screen.

Further investigation showed that the script’s configure prefix was incorrect; the proper command should be:

../configure --prefix=/usr/glibc-2.28

Attempted Fixes

Various online solutions were tried without success. The disk was mounted on another server to back up critical files, such as the Jenkins directory.

Solution

The root cause was an outdated Ubuntu version that does not support the required Node version. Reinstalling a newer Ubuntu release resolved the problem.

Conclusion

When updating core system libraries, proceed with caution: create system images and back up important data before making changes.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DeploymentNode.jsglibcUbuntusystem upgrade
Wukong Talks Architecture
Written by

Wukong Talks Architecture

Explaining distributed systems and architecture through stories. Author of the "JVM Performance Tuning in Practice" column, open-source author of "Spring Cloud in Practice PassJava", and independently developed a PMP practice quiz mini-program.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.