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
- Fire up a Ubuntu 20.04
- Install copilot 1.0.46 (maybe latest as well?)
- 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
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
Expected behavior
No response
Additional context
No response