I have been having problems with the Python extension in the VSCode snap. Essentially it wants glibc++6 version GLIBCXX_3.4.22. But the latest version from the snap is:
My /usr/lib/x86_64-linux-gnu/libstdc++.so.6 has the required version and all the way up to GLIBCXX_3.4.28. I’m not sure, but I think extensions run against the runtime of the snap. Is this correct?
If so, should the snap be updated to work with such extensions?
core is currently using GLIBCXX_3.4.21 as shown above.
non-core libstdc++.so.6 contains GLIBCXX_3.4.28 as above.
Side note: snap node may also need the latest GLIBCXX version
Currently core is at 3.4…21
$ pwd
/snap/core/current/usr/lib/x86_64-linux-gnu
(atm) arrizza@john16:/snap/core/current/usr/lib/x86_64-linux-gnu$ strings libstdc++.so.6 | grep GLIBC
…
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
…
I also tried core/latest/edge which also only has 3.4.21
Why? When you create a node native module in C++ that module may use c++ functions only available in later versions of GLIBCXX. So node itself may be ok with 3.4.21 but native modules may use later versions.
Examples:
std::filesystem::current_path() which needs the latest GLIBCXX 3.4.28.