4 ms·
I've made a library named "glibc-compatibility": https://github.com/ClickHouse/ClickHouse/tree/master/base/glibc-compatibility https://github.com/ClickHouse/Cli
by zX41ZdbW 2y ago
I've made a library named "glibc-compatibility": https://github.com/ClickHouse/ClickHouse/tree/master/base/glibc-compatibility https://github.com/ClickHouse/ClickHouse/tree/master/base/gl...
When linking with this library before glibc, the resulting binary will not depend on the new symbol versions. It will run on glibc 2.4 and on systems as old as Ubuntu 8.04 and CentOS 5 even when built on the most modern system.
- thrtythreeforty 2y agoHow does this work?
- threecheese 2y agoIn case parent didn’t see your q: https://www.lightofdawn.org/wiki/wiki.cgi/NewAppsOnOldGlibc https://www.lightofdawn.org/wiki/wiki.cgi/NewAppsOnOldGlibc
- adastra22 2y agoYou are a hero.
- cataphract 2y agoAn easier option is to build against musl, remove the DEPENDS with patchelf, and use that. There are a few incompatibilities with glibc (more on aarch64 than am64), but it's manageable (you might need to patch a few headers in musl and provide missing/incompatible functions). And you'll have a binary that works against musl and glibc both.
- kzrdude 2y agoHere is another interesting tool, this one for patching executables https://github.com/corsix/polyfill-glibc https://github.com/corsix/polyfill-glibc