LINUX.ORG.RU

В смысле для разных дистрибутивов? Если в системе более старая версия библиотеки glibc чем та, с которой был собран бинарник, то он не запустится, да. При обновлении же библиотеки glibc бинарники будут продолжать работать. Что касается glib, то тут уже нужно смотреть какие бинарники перестали работать при обновлении этой библиотеки. С другими библиотеками тоже самое.

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 2)
Ответ на: комментарий от saahriktu

нет тот же дистрибутив, даже та же основная версия. Просто версии glibc и прочего действительно могут быть разные

Jopich1
() автор топика
Ответ на: комментарий от Jopich1

Это в каком дистрибутиве? В rolling-release дистрибутивах, понятное дело, всё постоянно меняется, но у них нет и конкретной версии как таковой. А в дистрибутивах с фиксированными релизами происходит заморозка версий библиотек для конкретного релиза.

saahriktu ★★★★★
()

glibc

Нужно брать минимально доступную версию и компилировать под неё. На всех следующих за ней бинарь будет запускаться. На всех нижеследующих версиях будет что-то вроде:

version `GLIBC_2.11` not found
version `GLIBCXX_3.4.20' not found

В идеале компилируй на каком-нибудь CentOS 6 или 7, Ubuntu 14 LTS. Все те, кто юзает более старые версии дистрибутивов, должны страдать. На них забей.

Ну а с glib в пределах мажорных версий проблем никаких быть не должно.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от saahriktu

Жопич и саахрикту... Два дебила - это сила!

anonymous
()

Вот здесь более-менее разжевано насчет разрешения имен при линковке и выполнении:
Program Library HOWTO -> 3.1.1. Shared Library Names

Ну и просканируйте далее всю эту страничку (там есть другие подразделы) на предмет волшебного слова «soname» :)

vinvlad ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.