How to link linux-vdso?

The problem is not vDSO though.

No such file or directory relates to the runtime dynamic linker, or you can say dynamic ELF interpreter. Most GNU/Linux distros have an executable like /lib/ld-linux-x86-64.so.2 that helps load the dependencies (like libc.so.6) of a binary. On NixOS, however, different binaries can have different versions of runtime dynamic linker, and all the versions live in /nix/store/. The linker is stored in the executable as an absolute path, so downloaded binaries have a problem here.

You can probably run /nix/store/lxpdbaazqd2s79jx6lngr8nak2rjdaq1-glibc-2.34-210/lib64/ld-linux-x86-64.so.2 supabase and see it work.

Nixpkgs packages that download externally built libraries use patchelf to specify a new path for the dynamic interpreter, as well as the search paths for dynamic libraries. Note that you can also use buildFHSEnv to construct a working environment for supabase but without Steam.

1 Like