I am trying to use my new Pi 4 to run a Rust executable that I compiled on Linux but it will not run because it needs libc 2.29 and it appears that buster comes with libc 2.28. Is it possible to update the version of libc6 and if it is then what is the procedure to do so?
glibc is literally the only library your executable uses, just force the dynamic linker to use the right file with
However, what I expect to happen is that your program uses other libraries, and Buster versions of those libraries in turn use
glibc 2.28. It could so happen that those libs will work with
glibc 2.29, but I wouldn't bet on it.
As you won't be able to link against two different versions of
glibc at the same time, you'll have to recompile all the libs your program uses with
glibc 2.29, and then load them all with
LD_PRELOAD. This may well turn to be a non-viable approach in practice, considering the number of dependencies (including recursive ones!) you'll have to consider.
You should really try to use the
glibc 2.28 when compiling your app.