Summary
KubeSolo v1.1.6 installer passes all pre-flight checks on Rocky Linux 8.10 (RHEL 8 family), installs the binary, starts the systemd service — and then immediately crash-loops because the binary requires GLIBC ≥ 2.32/2.33/2.34 while Rocky/RHEL 8 ships GLIBC 2.28.
Environment
- OS: Rocky Linux 8.10 (Green Obsidian) — RHEL 8 family (
platform:el8)
- Kernel: 4.18.0-553.97.1.el8_10.x86_64
- GLIBC version: 2.28 (shipped with el8)
- KubeSolo version: 1.1.6
Installer output (passes all checks)
```
🔍 Detected glibc system
🔍 Detected init system: systemd
🔍 Detected environment: standard
🔍 Checking for Docker prerequisite conflicts...
✅ No Docker installation detected
🔍 Checking hostname RFC 1123 compliance...
✅ Hostname 'internal-edgehub-demo-aio' is RFC 1123 compliant
🔍 Checking iptables xt_comment module support...
✅ iptables with xt_comment module support verified
🔍 Checking for required cgroups controllers...
✅ All required cgroups v2 controllers are available: cpuset cpu io memory hugetlb pids rdma
🔍 Checking for running KubeSolo processes...
✅ No running KubeSolo processes found
...
✅ kubesolo installation completed!
```
Runtime failure (journalctl -u kubesolo)
```
kubesolo[8585]: /usr/local/bin/kubesolo: /lib64/libc.so.6: version GLIBC_2.33' not found (required by /usr/local/bin/kubesolo) kubesolo[8585]: /usr/local/bin/kubesolo: /lib64/libc.so.6: version GLIBC_2.32' not found (required by /usr/local/bin/kubesolo)
kubesolo[8585]: /usr/local/bin/kubesolo: /lib64/libc.so.6: version GLIBC_2.34' not found (required by /usr/local/bin/kubesolo) systemd[1]: kubesolo.service: Failed with result 'exit-code'. \``
Service enters a crash-restart loop indefinitely.
Root cause
The installer correctly detects a glibc-based system but does not check the glibc version. RHEL/Rocky 8 ships GLIBC 2.28; KubeSolo 1.1.6 requires ≥ 2.34 (first shipped in RHEL/Rocky 9, Ubuntu 22.04+, Debian 12+).
Note: cgroups v2 was a separate prerequisite also not met by default on el8 (requires systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=all kernel parameter + reboot). After fixing cgroups, the installer passes all checks but the binary still fails.
Suggested fix
Add a glibc version check to the installer pre-flight, e.g.:
```bash
GLIBC_VERSION=$(ldd --version | head -1 | grep -oE '[0-9]+.[0-9]+$')
REQUIRED="2.32"
if ! awk "BEGIN{exit !($GLIBC_VERSION >= $REQUIRED)}"; then
echo "❌ Error: GLIBC $GLIBC_VERSION found, but KubeSolo requires >= $REQUIRED"
echo " RHEL/Rocky 8 ships GLIBC 2.28. Please use RHEL/Rocky 9, Ubuntu 22.04+, or Debian 12+."
exit 1
fi
```
This prevents the confusing "install succeeds, service immediately crash-loops" experience and gives operators an actionable error message.
Impact
Any operator attempting to install KubeSolo on RHEL 8 / Rocky 8 / CentOS Stream 8 will hit this silently passing install + crash-loop pattern. These are common enterprise Linux distributions still in wide use.
Summary
KubeSolo v1.1.6 installer passes all pre-flight checks on Rocky Linux 8.10 (RHEL 8 family), installs the binary, starts the systemd service — and then immediately crash-loops because the binary requires GLIBC ≥ 2.32/2.33/2.34 while Rocky/RHEL 8 ships GLIBC 2.28.
Environment
platform:el8)Installer output (passes all checks)
```
🔍 Detected glibc system
🔍 Detected init system: systemd
🔍 Detected environment: standard
🔍 Checking for Docker prerequisite conflicts...
✅ No Docker installation detected
🔍 Checking hostname RFC 1123 compliance...
✅ Hostname 'internal-edgehub-demo-aio' is RFC 1123 compliant
🔍 Checking iptables xt_comment module support...
✅ iptables with xt_comment module support verified
🔍 Checking for required cgroups controllers...
✅ All required cgroups v2 controllers are available: cpuset cpu io memory hugetlb pids rdma
🔍 Checking for running KubeSolo processes...
✅ No running KubeSolo processes found
...
✅ kubesolo installation completed!
```
Runtime failure (journalctl -u kubesolo)
```
kubesolo[8585]: /usr/local/bin/kubesolo: /lib64/libc.so.6: version
GLIBC_2.33' not found (required by /usr/local/bin/kubesolo) kubesolo[8585]: /usr/local/bin/kubesolo: /lib64/libc.so.6: versionGLIBC_2.32' not found (required by /usr/local/bin/kubesolo)kubesolo[8585]: /usr/local/bin/kubesolo: /lib64/libc.so.6: version
GLIBC_2.34' not found (required by /usr/local/bin/kubesolo) systemd[1]: kubesolo.service: Failed with result 'exit-code'. \``Service enters a crash-restart loop indefinitely.
Root cause
The installer correctly detects a glibc-based system but does not check the glibc version. RHEL/Rocky 8 ships GLIBC 2.28; KubeSolo 1.1.6 requires ≥ 2.34 (first shipped in RHEL/Rocky 9, Ubuntu 22.04+, Debian 12+).
Note: cgroups v2 was a separate prerequisite also not met by default on el8 (requires
systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=allkernel parameter + reboot). After fixing cgroups, the installer passes all checks but the binary still fails.Suggested fix
Add a glibc version check to the installer pre-flight, e.g.:
```bash
GLIBC_VERSION=$(ldd --version | head -1 | grep -oE '[0-9]+.[0-9]+$')
REQUIRED="2.32"
if ! awk "BEGIN{exit !($GLIBC_VERSION >= $REQUIRED)}"; then
echo "❌ Error: GLIBC $GLIBC_VERSION found, but KubeSolo requires >= $REQUIRED"
echo " RHEL/Rocky 8 ships GLIBC 2.28. Please use RHEL/Rocky 9, Ubuntu 22.04+, or Debian 12+."
exit 1
fi
```
This prevents the confusing "install succeeds, service immediately crash-loops" experience and gives operators an actionable error message.
Impact
Any operator attempting to install KubeSolo on RHEL 8 / Rocky 8 / CentOS Stream 8 will hit this silently passing install + crash-loop pattern. These are common enterprise Linux distributions still in wide use.