www.wikidata.de-de.nina.az
glibc die GNU C Bibliothek ist eine freie Implementierung der C Standard Bibliothek die vom GNU Projekt zusammen mit der GNU Compiler Collection entwickelt wird glibcBasisdatenEntwickler Free Software FoundationErscheinungsjahr 1987Aktuelle Version 2 38 1 31 Juli 2023 Betriebssystem Unix LinuxProgrammiersprache CKategorie LaufzeitbibliothekStandardbibliothekLizenz LGPLdeutschsprachig jagnu org software libc Die glibc steht unter der LGPL was den Einsatz der Bibliothek bei nicht freier Software ermoglicht Die glibc Bibliothek gehort zu den fundamentalsten und wichtigsten Bibliotheken von unixoiden Betriebssystemen Inhaltsverzeichnis 1 Eigenschaften 1 1 Funktionalitat 1 2 Kritik 2 Geschichte 2 1 Maintainer 2 2 glibc 2 3 2 3 EGLIBC Fork 2 4 Versionsgeschichte 3 Siehe auch 4 Literatur 5 Weblinks 6 EinzelnachweiseEigenschaften BearbeitenEines der Designziele der glibc ist Portabilitat uber verschiedene Softwareplattformen daher ist sie auch fur eine Reihe von Betriebssystemen verfugbar Einige Betriebssysteme darunter GNU Linux benutzen die glibc als ihre offizielle Standard C Bibliothek Die Bibliotheken der glibc sind selbst zum grossten Teil auch in C geschrieben laufzeitkritische Routinen verwenden jedoch Assembler Code Funktionalitat Bearbeiten Die glibc stellt die in der Single UNIX Specification POSIX 1c 1d und 1j geforderte Funktionalitat bereit zusatzlich Teile der ISO C99 Berkeley Unix BSD Interface der System V Interface Definition SVID und der X Open Portability Guide XPG Issue 4 2 mit allen Erweiterungen ublich fur XSI X Open System Interface konforme Systeme mit allen X Open Unix Erweiterungen Zusatzlich zu den von den C Standards geforderten Funktionen bietet sie auch eine Reihe von nicht standardisierten Erweiterungen Kritik Bearbeiten Ihre Universalitat und ihr Fokus auf die x86 Hardware Plattform 2 3 ist zugleich auch der grosste Kritikpunkt an der glibc Durch die Menge des einzubindenden Codes werden gegen die glibc gelinkte Programme unnotig gross 4 und damit potenziell langsam andere Plattformen werden gar nicht unterstutzt Eine Reihe von Projekten hat sich daher der Idee verschrieben Alternativen zu glibc zu entwickeln die bekanntesten sind uClibc und diet libc Durch Beschrankung auf die aus Sicht der Kritiker wesentlichen Dinge sind diese Implementierungen deutlich kleiner fur die fertigen Binarprogramme allerdings lasst sich nicht jedes glibc Programm auch gegen diese alternativen Bibliotheken linken z B weil sie Funktionen der glibc benutzen die in den anderen Bibliotheken fehlen oder es verhalt sich wahrend der Ausfuhrung unerwartet Vor allem fur eingebettete Systeme sind die schlanken libc Implementierungen jedoch sinnvoll Geschichte BearbeitenMaintainer Bearbeiten Seit 2001 wurde das CVS Repository der glibc bei Red Hat gehostet und fast ausschliesslich von Ulrich Drepper gepflegt Maintainer 5 Zusatzlich wurden aktuelle Snapshots in den FTP Archiven und deren Spiegelserver bereitgestellt Damit kam man der Community entgegen da man z B durch restriktive Firewalls nicht von uberall aus per CVS auf das Internet zugreifen kann Um das Jahr 2001 wurde ein Lenkungsausschuss fur das glibc Projekt eingerichtet 6 um welches es offentlich ausgetragene Kontroversen gab Ulrich Drepper beschrieb die Vorgange offentlich als Versuch einer feindlichen Ubernahme engl hostile takeover durch Richard Stallman welche fehlgeschlagen war 7 8 9 Seit Mai 2009 wird die glibc als Git Repository bei Sourceware weiter gepflegt 10 glibc 2 3 Bearbeiten Mit der glibc 2 3 wurde eine Reihe von Verbesserungen integriert die wichtigste davon ist die Ersetzung der alten Linux Threading Erweiterung linuxthreads durch die Native POSIX Thread Library NPTL die ebenso wie die glibc selbst federfuhrend bei Red Hat entwickelt wurde Die NPTL ermoglicht in Zusammenarbeit ab dem Linux Kernel 2 6 eine deutliche Leistungssteigerung beim Threading und ist dabei POSIX konform Da man abwartskompatibel sein wollte steht fur Programme die auf nicht POSIX konforme Verhaltensweisen der alten Implementation angewiesen sind auch weiter LinuxThreads zur Verfugung man muss es nun aber explizit per Linker Direktive anfordern z B LD ASSUME KERNEL 2 4 22 Auch die glibc selbst ist in den wichtigsten Funktionen abwartskompatibel Der kleinste gemeinsame Nenner ist dabei die Funktionalitat der libc6 weshalb die Bezeichnungen glibc und libc6 auch haufig synonym fureinander verwendet werden auf Alpha und IA 64 Architekturen heissen die Bibliotheken aus historischen Grunden libc6 1 bieten jedoch die gleiche Funktionalitat EGLIBC Fork Bearbeiten Wegen eines fehlenden Fokus der glibc auf Kompatibilitat mit eingebetteten Systemen 3 besonders ARM Prozessoren und Problemen mit dem Umgang des Projektverantwortlichen Ulrich Drepper bei Fehlerberichten und eingereichten Korrekturen wurde eine Abspaltung fork des Projekts namens EGLIBC erstellt 11 Nach Selbsteinschatzung der Entwickler handelt es sich bei eglibc jedoch nicht um einen klassischen Fork vielmehr wollen die Entwickler die Anderungen von glibc ubernehmen aber auch Patches akzeptieren die keinen Einzug in glibc gefunden haben 12 Damit verfolgt eglibc das Ziel einen freundlicheren Umgang mit Entwicklern zu pflegen und Embedded Prozessoren besser zu unterstutzen Als erste grosse Linux Distribution hat Debian auf diese Implementierung umgestellt wechselte aber im Juni 2014 wieder zuruck zu glibc da das EGLIBC Projekt seine Mission als erfullt ansah und sich aufloste 13 14 15 Ubuntu verwendet ab Version 9 10 EGLIBC 16 Versionsgeschichte Bearbeiten Die Veroffentlichungsdaten wurden so weit moglich vom offiziellen FTP Server ubernommen 17 Version Datum BemerkungenAltere Version nicht mehr unterstutzt 1 0 Marz 1992Altere Version nicht mehr unterstutzt 1 x 1992 1994Altere Version nicht mehr unterstutzt 1 09 November 1994Altere Version noch unterstutzt 2 0 Februar 1997Altere Version noch unterstutzt 2 1 Mai 1999Altere Version noch unterstutzt 2 2 Januar 2001 Large File Support 18 Altere Version noch unterstutzt 2 3 Oktober 2002 Native POSIX Thread Library NPTL Altere Version noch unterstutzt 2 4 6 Marz 2006Altere Version noch unterstutzt 2 5 29 September 2006Altere Version noch unterstutzt 2 6 17 Mai 2007Altere Version noch unterstutzt 2 7 19 Oktober 2007Altere Version noch unterstutzt 2 8 11 April 2008Altere Version noch unterstutzt 2 9 10 Marz 2009Altere Version noch unterstutzt 2 10 Mai 2009 Datum der Version 2 10 1Altere Version noch unterstutzt 2 11 3 November 2009Altere Version noch unterstutzt 2 12 August 2010 Datum der Version 2 12 1Altere Version noch unterstutzt 2 13 1 Februar 2011 Altere Version noch unterstutzt 2 14 1 Juni 2011Altere Version noch unterstutzt 2 15 21 Marz 2012Altere Version noch unterstutzt 2 16 30 Juni 2012Altere Version noch unterstutzt 2 17 25 Dezember 2012Altere Version noch unterstutzt 2 18 12 August 2013Altere Version noch unterstutzt 2 19 8 Februar 2014Altere Version noch unterstutzt 2 20 7 September 2014Altere Version noch unterstutzt 2 21 6 Februar 2015Altere Version noch unterstutzt 2 22 5 August 2015Altere Version noch unterstutzt 2 23 19 Februar 2016Altere Version noch unterstutzt 2 24 4 August 2016Altere Version noch unterstutzt 2 25 5 Februar 2017Altere Version noch unterstutzt 2 26 2 August 2017Altere Version noch unterstutzt 2 27 1 Februar 2018Altere Version noch unterstutzt 2 28 1 August 2018Altere Version noch unterstutzt 2 29 31 Januar 2019Altere Version noch unterstutzt 2 30 1 August 2019Altere Version noch unterstutzt 2 31 1 Februar 2020Altere Version noch unterstutzt 2 32 5 August 2020Altere Version noch unterstutzt 2 33 1 Februar 2021Altere Version noch unterstutzt 2 34 1 August 2021Altere Version noch unterstutzt 2 35 3 Februar 2022Altere Version noch unterstutzt 2 36 2 August 2022Aktuelle Version 2 37 1 Februar 2023Siehe auch Bearbeitendiet libc musl Newlib uClibcLiteratur BearbeitenSandra Loosemore et al The GNU C Library Application Fundamentals for GNU C Libraries Version 2 3 x PDF 2 6 MB GNU Press Boston 2004 ISBN 978 1 8821142 2 1 Weblinks BearbeitenOffizielle Website des GNU Projekts zur glibc engl The GNU C Library Reference Manual engl Das glibc Wiki Comparison of C POSIX standard library implementations for Linux engl glibc 2 19 im Vergleich zu kompakten AlternativenEinzelnachweise Bearbeiten Andreas K Huettel The GNU C Library version 2 38 is now available 31 Juli 2023 englisch abgerufen am 1 August 2023 Bug 5070 glibc 2 5 sysdeps unix sysv linux check pf c 68 make request Assertion fails a b Ulrich Drepper Dictatorship of the Minorities udrepper livejournal com 25 Mai 2005 abgerufen am 15 Januar 2012 englisch Which architectures are worthwhile supporting Not only do we have to look for irrelevance what percentage cares about Vax PArisc support we also have to look at the level of added complexity the support requires Some ABIs are just deliberately defined to be different from others see IA 64 which requires huge amounts of effort to be spent There are also significantly diverging capabilities e g the lack of atomic operations in too many architectures This far too often causes to unnecessarily crippled code since writing code in a way which allows optimal use in all situations is very difficult The solution must be to restrict support to only a handful of architectures which are supported in the project All other support must happen outside the tree and therefore all the work has to be done by the special interest groups I don t want to say we follow all these points perfectly but for a big project glibc certainly comes closest to this Linus Torvalds Posting to the glibc mailing list 9 Januar 2002 19 02 37 Jonathan Corbet A turning point for GNU libc LWN net 28 Marz 2012 abgerufen im 1 Januar 1 Of the nearly 19 000 commits found in the project s git repository which contains changes back to 1995 over 12 000 were made by Ulrich glibc homepage Abgerufen im 1 Januar 1 In 2001 The GNU C Library Steering Committee was formed and currently consists of Mark Brown Paul Eggert Andreas Jaeger Jakub Jelinek Roland McGrath and Andreas Schwab Ulrich Drepper RMS is at it again sourceware org 26 Juni 2000 abgerufen am 20 November 2015 A few weeks ago RMS started the next attack on me a single mail followed by indirect tries to take influence followed by another mail today The essence is that he complains I am not following GNU policies and therefore have to be replaced by a steering committee of which I could be a part Some of you namely Roland and Andreas S probably knowabout this since he proposed both as other members of the committee In addition there was Mark Brown listed I know somebody of this name at IBM who would also fit in this group but I m not sure whether it is really him Anyhow I completely reject this It is not helping at all the opposite is true First I am not aware of any essential policies I m violating The only ones are that I m not following orders from RMS which clearly have political intends which is of course a sacrilege and possibly that I do not care about Winblowz if the latter counts at all None of this will change in any way Ulrich Drepper glibc 2 2 4 sourceware com 15 August 2001 abgerufen am 29 November 2015 And now for some not so nice things Stallman recently tried what I would call a hostile takeover of the glibc development He tried to conspire behind my back and persuade the other main developers to take control so that in the end he is in control and can dictate whatever pleases him This attempt failed but he kept on pressuring people everywhere and it got really ugly In the end I agreed to the creation of a so called steering committee SC rms accused of attempting glibc hostile takeover auf slashdot com am 19 August 2001 Sourceware Information zum glibc Repo http www eglibc org home http www eglibc org faq Aurelien Jarno Debian is switching to EGLIBC aurel32 net 5 Mai 2009 abgerufen am 15 Januar 2012 englisch More friendly upstream especially with regard to embedded architectures Encourage cooperation communication civility and respect among developers as opposed to this timothy Debian Switching From Glibc To Eglibc Slashdot 6 Mai 2009 abgerufen am 14 Januar 2012 englisch Debian is switching back to GLIBC Aurelien 19 Juni 2014 abgerufen am 19 Juni 2014 englisch http www eglibc org news http ftp gnu org gnu glibc Andreas Jaeger Large File Support in Linux SUSE GmbH 15 Februar 2015 abgerufen im 1 Januar 1 Abgerufen von https de wikipedia org w index php title GNU C Bibliothek amp oldid 234627961