This issue is from @asir66.
Description
When VS Code is launched from a shell that has sourced Vivado's environment, the bundled VIDE language server may fail to start due to an incompatible libstdc++.so.6 being loaded from the Vivado installation.
The VS Code output only shows generic LSP errors such as:
and eventually:
The Vide language server crashed 5 times in the last 3 minutes.
The server will not be restarted.
However, the actual server stderr contains:
/home/asir/vivado/2025.2/Vivado/lib/lnx64.o/Default/libstdc++.so.6:
version `GLIBCXX_3.4.26' not found
/home/asir/vivado/2025.2/Vivado/lib/lnx64.o/Default/libstdc++.so.6:
version `GLIBCXX_3.4.29' not found
Environment
- Debian 13 (trixie)
- Vivado 2025.2
- VIDE VS Code extension 0.1.8
- VIDE server 0.1.8
Root Cause
Vivado injects its own library directories into LD_LIBRARY_PATH, including:
Vivado/lib/lnx64.o/Default
As a result, when the bundled VIDE server starts, the dynamic linker loads Vivado's libstdc++.so.6 instead of the system version.
The Vivado-provided library does not contain the newer GLIBCXX_* symbols required by the server binary, causing the process to terminate before initialization.
Expected Behavior
The extension should make the failure mode easier to diagnose. Possible improvements include:
- Surface server startup stderr when initialization fails.
- Detect common dynamic-linker failures (
GLIBCXX_* not found, incompatible libstdc++.so.6, etc.) and provide a more actionable error message.
- Document known conflicts with EDA tool environments such as Vivado, Quartus, ModelSim, and similar tools that modify
LD_LIBRARY_PATH.
Additional Notes
The issue is reproducible only when VS Code inherits Vivado's environment. Launching the server with a clean LD_LIBRARY_PATH allows it to start normally.
This issue is from @asir66.
Description
When VS Code is launched from a shell that has sourced Vivado's environment, the bundled VIDE language server may fail to start due to an incompatible
libstdc++.so.6being loaded from the Vivado installation.The VS Code output only shows generic LSP errors such as:
and eventually:
However, the actual server stderr contains:
Environment
Root Cause
Vivado injects its own library directories into
LD_LIBRARY_PATH, including:As a result, when the bundled VIDE server starts, the dynamic linker loads Vivado's
libstdc++.so.6instead of the system version.The Vivado-provided library does not contain the newer
GLIBCXX_*symbols required by the server binary, causing the process to terminate before initialization.Expected Behavior
The extension should make the failure mode easier to diagnose. Possible improvements include:
GLIBCXX_* not found, incompatiblelibstdc++.so.6, etc.) and provide a more actionable error message.LD_LIBRARY_PATH.Additional Notes
The issue is reproducible only when VS Code inherits Vivado's environment. Launching the server with a clean
LD_LIBRARY_PATHallows it to start normally.