Я проверил версию libc на своей 64bit
12.10
машине Ubuntu, выполнив команду ldd --version
.
Я видел, что Ubuntu использует eglibc
вместо glibc
. Как egiblc
и для встраиваемых машин, есть ли конкретная причина, по которой Ubuntu использует его вместо стандартного glibc.
решение1
Ubuntu основан на Debian. Это сокращение отВикипедия:
6 мая 2009 года было объявлено, что Debian перейдет с библиотеки GNU C на EGLIBC, ссылаясь на проблемы с процессом разработки glibc. Debian и несколько его производных теперь поставляют EGLIBC вместо glibc. EGLIBC — это свободное программное обеспечение, лицензированное по GNU LGPL.
Вот причины (форма)Debian переходит на EGLIBC):
EGLIBC — это вариант GLIBC, который остается совместимым с исходным кодом и бинарным кодом оригинального GLIBC. Хотя он в первую очередь ориентирован на встраиваемые архитектуры, у него есть несколько действительно хороших моментов:
- Более дружелюбный подход к разработчикам (особенно в отношении встраиваемых архитектур): «Поощрять сотрудничество, общение, вежливость и
уважение среди разработчиков» (в противоположность этому).- Стабильная ветка с исправлениями важных ошибок (настоящая, а не как GLIBC, которая осталась без изменений).
- Лучшая поддержка встраиваемых архитектур.
- Поддержка различных оболочек (GLIBC поддерживает только bash).
- Поддержка сборки с -Os.
- Настраиваемые компоненты (действительно ли нам нужна поддержка NIS или RPC в Debian-installer?).
- Лучший набор тестов для оптимизированных или биархитектурных пакетов.
решение2
За исключением того, что теперь они вернулись к прежнему положению:
С начала 2014 года на официальной домашней странице указано, что EGLIBC больше не разрабатывается, поскольку его «цели теперь решаются непосредственно в GLIBC», и Debian переключился обратно на glibc[4] для выпуска Debian 8.0 (Jessie). -- Википедия