nix-ld
nix-ld copied to clipboard
LD_LIBRARY_PATH is set within VSCode integrated terminal
I am using nix-ld to run vscode-server on a nixos machine. Which works quite well, thanks!
I realized that within VSCode's integrated terminal LD_LIBRARY_PATH is set. This wasn't an issue, since NIX_LD was set to the system's LD anyways so most binaries continued to work.
However, it all broke down when using an old nixpkgs pin within a direnv environment. All binaries fail to launch with errors like:
/nix/store/q29bwjibv9gi9n86203s38n0577w09sx-glibc-2.33-117/lib/libc.so.6: version `GLIBC_2.34' not found (required by /nix/store/sqhyhvf3qpnnj6xnb55kv46ckfjx2na8-gcc-11.3.0-lib/lib/libstdc++.so.6)
Unsetting LD_LIBRARY_PATH within the terminal fixes the error.
I asume that somehow vscode-server stores the LD_LIBRARY_PATH variable and sets it on all child shells. I have yet to find a non-hacky way to get rid of the behaviour. Is there a way from nix-ld's side, to prevebt LD_LIBRARY_PATH to be propagated to vscode-servers child processes?