Copilot CLI fails to start on Rocky Linux 8.10 due to GLIBC version mismatch in distributed native modules
- 主要語言
- Shell
- 星號
- 11.2k
- 分支
- 1.9k
- 平均合併
- 14 小時 16 分鐘
- 30 天內合併 PR
- 6
描述
### Describe the bug
Attempting to use Copilot CLI on Rocky Linux 8.10 fails to initialize due to missing GLIBC symbols required by the distributed native module (e.g., `GLIBC_2.29`, `GLIBC_2.30`, `GLIBC_2.33`, `GLIBC_2.34`). This leads to startup errors about native bindings not being found, despite user instructions to reinstall packages. The CLI cannot operate on popular enterprise Linux distributions using GLIBC lower than 2.29.
### Affected version
1.0.46
### Steps to reproduce the behavior
1. Install Copilot CLI 1.0.46 on Rocky Linux 8.10 (or any related EL based distro)
2. Run Copilot CLI command (e.g., `copilot`)
3. Observe error about missing native bindings referencing multiple GLIBC versions
4. Check ldd results for native module: shows missing GLIBC_2.29, GLIBC_2.30, GLIBC_2.33, GLIBC_2.34
### Expected behavior
Copilot CLI should start and run on standard enterprise Linux like Rocky Linux 8.10 (with older GLIBC).
### Additional context
Logs:
```
[ERROR] Failed to initialize sidekick agents: Error: Failed to load built-in sidekick agent "github-context": Failed to read file .../github-context.yaml: Error: Cannot find native binding. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory.
```
ldd command:
```
ldd ~/.cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node
.cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by .cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node)
.cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node: /lib64/libc.so.6: version `GLIBC_2.30' not found (required by .cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node)
.cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by .cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node)
.cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by .cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node)
```
OS: Rocky Linux 8.10 (RHEL/CentOS compatible)
Copilot CLI 1.0.46
Node.js v24.15.0
Request: Please provide Copilot CLI binaries compatible with enterprise Linux GLIBC versions as found in Rocky/CentOS/RHEL 8.x, or alternatives/workarounds for this environment.
貢獻指南
研究方向
Start with the distributed native module at ~/.cache/copilot/pkg/linux-x64/1.0.46/native/runtime/runtime.linux-x64-gnu.node and reproduce the failure on Rocky Linux 8.10. Run ldd on the module to verify the missing GLIBC symbols, then determine whether the resulting Copilot CLI binary starts on the affected enterprise Linux environment without native binding errors.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- linux, node.js
- 領域
- cli, operating-systems
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100