Я пытаюсь развернуть приложение C++ с log4cxx.so и требует glibc 2.14, но развернутая машина имеет 2.12 glibc. Необходимо ли обновить этот аппарат до glibc 2.14 для запуска этого приложения? Или есть другой более портативный способ?развертывание приложений linux C++
1
A
ответ
2
Linux двоичная переносимость - это боль. Linux использует символ управления версиями, так что вы должны быть в состоянии выяснить, какие символы необходимы с:
nm binary | grep @@GLIBC_ | sort [email protected] -k14
Вы можете быть в состоянии встраивать функции и удалить зависимость от более новых glibc
.
Подробнее ... here. Как правило, лучшим вариантом для переносимости является компиляция с более старой версии glibc
или просто для предоставления источников и MAKEFILE
.
Смежные вопросы
- 1. Развертывание приложений PyQt5 в Linux
- 2. развертывание Qt-приложений для Linux
- 3. Развертывание приложений QT на linux
- 4. Развертывание Qt-приложений под Linux
- 5. C# Развертывание приложений Windows
- 6. развертывание приложений консоли C#
- 7. Развертывание C++-игры в Linux
- 8. Развертывание приложений PlayFramework 2
- 9. развертывание приложений Windows
- 10. Развертывание веб-приложений
- 11. Развертывание приложений OpenCV
- 12. Развертывание веб-приложений
- 13. Развертывание приложений OpenCV C++ с внешними библиотеками
- 14. Удаленное развертывание приложений
- 15. Разработка приложений Node.js oracledb и развертывание в Linux
- 16. Развертывание веб-приложений Smalltalk на безголовом сервере Linux
- 17. Qt5 - развертывание приложений Linux - можете ли вы динамически использовать зависимости?
- 18. Развертывание на кластерном сервере приложений WebLogic или Red Hat Linux
- 19. Развертывание приложений ASP.NET 5
- 20. Развертывание приложений MS Lightswitch
- 21. Удаленное развертывание сервера приложений
- 22. Развертывание веб-приложений
- 23. Развертывание веб-приложений Scala
- 24. Безопасное развертывание приложений GAE
- 25. Развертывание нескольких приложений вместе
- 26. Развертывание приложений в Heroku
- 27. Развертывание веб-приложений Java
- 28. Развертывание приложений Smartwatch
- 29. Развертывание приложений CakePHP
- 30. Развертывание приложений Compojure/Sinatra
Вы можете попробовать статически связать библиотеку. Google должен указать информацию о том, как это сделать. –
это может помочь: [Насколько совместимы разные версии glibc?] [1] [1]: http://stackoverflow.com/questions/11107263/how-compatible-are-different-versions-of-glibc – andrjas
Тогда, если слишком сложно развернуть новую версию glibc, статически связать свой исполняемый файл. – phoeagon