Я пытаюсь развернуть приложение c ++ с log4cxx.so и требует glibc 2.14, но развертываемая машина имеет 2.12 glibc. Нужно ли обновлять эту машину до glibc 2.14, чтобы запустить это приложение? Или есть другой более портативный способ?
Бинарная переносимость Linux — это боль. В Linux используется управление версиями символов, поэтому вы сможете узнать, какие символы необходимы для:
nm binary | grep @@GLIBC_ | sort -t@ -k14
Возможно, вы сможете встроить функции и удалить зависимость от новых glibc
,
Вы можете прочитать больше Вот. Как правило, лучшим вариантом для переносимости является компиляция со старой версией glibc
или просто предоставить источники и MAKEFILE
,
Других решений пока нет …