Increasingly, I've found that older versions of glibc and libstdc++ are incompatible with newer versions and cause random crashes in an application.
One solution to this problem is to compile natively on multiple systems (as do most other players in the OpenSource world), and hence distribute multiple binaries. My application is not GNU GPL compatible so there are no source distributions.
Now, my question is that can I distribute binaries bundled with the C/C++ runtime itself so that the problem of distributing multiple binaries doesn't arise. From StackOverflow I found out that this is possible (Linking Statically with glibc and libstdc++ - Stack Overflow), but when I try to run the application I get a whole lot of RTLD errors:
relocation error: ./bin/libc.so.6: symbol _dl_tls_get_addr_soft, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference
Is there any work-around to this? What standards should be followed when distributing C/C++ runtimes?