v1.0.46 fails to start MCP server on Ubuntu 20.04
- 主要語言
- Shell
- 星號
- 11.2k
- 分支
- 1.9k
- 平均合併
- 14 小時 16 分鐘
- 30 天內合併 PR
- 6
描述
### Describe the bug
When upgrading to v1.0.46 on my ubuntu 20.04 machine, I noticed that the MCP servers don't start anymore. After investigating, this seems to be because the runtime (native/runtime/runtime.linux-x64-gnu.node) is compiled for glibc 2.33 or later, but Ubuntu 20.04 only ships with 2.31.
I used a different copilot on a different machine to solve the problem, which did the following:
_1. ELF-patched 4 .node files to remove the VERNEED version requirements for GLIBC_2.33/GLIBC_2.34 (using a Python script + patchelf --clear-symbol-version), and added libpthread.so.0/libdl.so.2 to their NEEDED entries where required
2. Built /home/user/.local/lib/glibc_compat.so — a small C shim that exposes stat64/fstat64 as public symbols (wrapping glibc
2.31's internal __xstat64/__fxstat64)
3. Replaced /home/user/.local/bin/copilot with a wrapper script that sets LD_PRELOAD=glibc_compat.so before launching copilot.bin_
### Affected version
Github Copilot CLI 1.0.46
### Steps to reproduce the behavior
1. Fire up a Ubuntu 20.04
2. Install copilot 1.0.46 (maybe latest as well?)
3. Start copilot and observe error messages about MCP server failing to start due to some npm issue (a bit misleading).
### Expected behavior
_No response_
### Additional context
_No response_
貢獻指南
研究方向
首先,按照列出的安裝與啟動步驟,在 Ubuntu 20.04 上重現 MCP 啟動失敗。檢查 native/runtime/runtime.linux-x64-gnu.node 和已安裝的 copilot launcher,然後將二進位檔的 GLIBC 需求與主機的 glibc 2.31 進行比較。當 v1.0.46 能夠在沒有誤導性的 npm 相關失敗的情況下啟動 MCP 伺服器時,即視為完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- c, node.js, python, shell, ubuntu
- 領域
- cli, operating-systems
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100