Термин для Google - это «версия символа glibc».
Как это введение объясняет, glibc содержит несколько версий каждого символа, которые менялись с течением времени, и поэтому libc.so.6
содержит все версии glibc от 2.0 до той версии, которая указана.
Когда вы связываете с ней новую библиотеку или двоичный файл, вы используете .час
файлы и экспортированные символы для новейших версий символов.
Что касается доступа к старым символам, на StackOverflow есть вопрос с именем Как я могу сделать ссылку на конкретную версию glibc?, но поскольку все ваши другие зависимости, скорее всего, тоже будут связаны с новейшими символами, гораздо проще просто использовать Docker или chroot для работы с более старыми версиями системы, потому что вы, вероятно, создадите ее с нуля, если не сделаете этого.
Разработчики Python фактически поддерживают контейнеры Docker с именами много линукс...
специально для создания надежной основы для создания колес (распространяемых двоичных пакетов) для пакетов Python с скомпилированными компонентами.
Я считаю, что подход Windows ближе к объединению нескольких четко определенных профилей и призыву ко всем авторам предварительно скомпилированных библиотек предлагать сборки, ориентированные на более старые профили. (С оговоркой, что вы должны исходить из того, что должен быть бесплатно
d той же единицей компиляции, что и маллок
это потому, что PE не имеет глобальных символов, и разные библиотеки могут зависеть от разных версий распределителя со своими собственными статический
переменные и семантические различия.)