15

I checked for the libc version on my Ubuntu 64bit 12.10 machine by issuing the command ldd --version.

I saw that Ubuntu uses eglibc instead of glibc. As egiblc is for embedded machines, Is there a specific reason why Ubuntu uses it instead of the standard glibc.

Eric Carvalho
  • 53,609
  • 102
  • 137
  • 162
abhi
  • 321
  • 4
  • 13

2 Answers2

15

Ubuntu is based on debian. This is an abridgment of Wikipedia:

On 6 May 2009, it was announced that Debian would move from the GNU C Library to EGLIBC, citing problems with the development process of glibc. Debian and several of its derivatives now ship EGLIBC instead of glibc. EGLIBC is free software licensed under the GNU LGPL.

These are the reasons (form Debian is switching to EGLIBC):

The EGLIBC is a variant of the GLIBC which stays source and binary compatible with the original GLIBC. While primarily targeted for embedded architectures, it has some really nice points:

  • More friendly upstream (especially with regard to embedded architectures): “Encourage cooperation, communication, civility, and
    respect among developers” (as opposed to this).
  • Stable branch with fixes for important bugs (a real one, not like the GLIBC one which is left unchanged).
  • Better support for embedded architectures.
  • Support for different shells (GLIBC only supports bash).
  • Support for building with -Os.
  • Configurable components (do we really need NIS or RPC support in debian-installer?).
  • Better testsuite for optimized or biarch packages.
muru
  • 193,181
  • 53
  • 473
  • 722
chaos
  • 27,106
  • 12
  • 74
  • 77
  • One of many likely consequences of the "broken" development process and a complete lack of security rigor: the GHOST vuln https://community.qualys.com/blogs/laws-of-vulnerabilities/2015/01/27/the-ghost-vulnerability My favorite part of the above article is *denying* the security threat. A codebase that is too large, poorly engineered and lacks a productive, functioning community likely contains many vulnerabilities... like playing whac-a-mole on a flea-bitten POODLE. Don't use glibc. Period. – dhchdhd Feb 07 '15 at 04:06
  • glibc is a pita for sure, I'm fighting with its inability to be statically linked, which makes cross compiling just that much more annoying. What are the alternatives though, now that eglibc hit end of life? – moodboom Nov 30 '16 at 13:27
8

Except they have now switched back:

Since the beginning of 2014, the official homepage states that EGLIBC is no longer being developed, since its "goals are now being addressed directly in GLIBC", and Debian has switched back to glibc[4] for the Debian 8.0 (Jessie) release. -- Wikipedia

Feloneous Cat
  • 91
  • 1
  • 1
  • 5
    Ubuntu has switched back also, in recent releases. [This search for libc6](https://launchpad.net/ubuntu/+search?text=libc6) (which is the name of the primary binary package that provides libc in Ubuntu) reveals eglibc in releases up to 14.04 LTS Trusty Tahr, then glibc in the subsequent releases 14.10 Utopic Unicorn and 15.04 Vivid Vervet (which is in beta as I write this). See the [eglibc](https://launchpad.net/ubuntu/+source/eglibc) and [glibc](https://launchpad.net/ubuntu/+source/glibc) downstream source package pages for details. *Please feel free to add this information to your answer.* – Eliah Kagan Apr 07 '15 at 14:37