thumb|Линукс АПИ је састављена од система приступа (интерфејс), Linux језгра, као и -{GNU C}- библиотеке (ГНУ), libdrm, libalsa i libevdev (од стране freedesktop.org). thumb|300x300px|-{GNU C}- библиотека је омотач око система који се зове Линукс језгро. thumb|Линукс језгро и -{GNU C}- библиотека заједно формирају Линукс АПИ. Након сједињавања, нуде бинарне фајлове (датотеке)АБИ. -{GNU C}- библиотека, познатија под називом -{glibc}-, је ГНУ пројекат направљен од Ц стандардне библиотеке. Упркос свом имену, ова библиотека директно подрзава и C++ (и индиректно друге програмске језике). Основана је 1990-их од стране фондације за слободни софтвер (ФСФ) за њихов ГНУ оперативни систем.
Објављена је од стране GNU Lesser General Public лиценце, и ц библиотека је слободни софтвер.
Историја Ц библиотеку је првобитно написао Роналд МекГрат, који је радио за фондацију за слободни софтвер (ФСФ) 1980-те.
У фебруару 1988, ФСФ, је описао C библиотеку као скоро готову и функсионалну какву ју је захтевао ANSI C."https://www.gnu.org/bulletins/bull4.html" . До 1992, имала је ANSI C-1989 и POSIX.1-1990 имплементиране функције и рад се обављао под POSIX.2."GNU's Bulletin, vol. 1 no. 12" .
У септембру 1995 Улрик Дрепер је извршио свој први допринос glibc пројеку и постепено постао око 1990-ит главни сарадник и одржавалац glibc-а.glibc changelog on github.com Дрепер је имао руководећу улогу током много година и до 2012 је накупио 63% од свих извшавања пројекта.
Развој "Линукс libc-a" У раним 1990-им, програмери Линукс језгра су развили glibc. Њихов форк који се звао "Линукс libc", годинама није одржаван а објављене су верзијама од 2 до 5.
Када је ФСФ објавио glibc верзију 2.0 у Јануару 1997, она је имала много више компајлера по комплетним POSIX стандардима, бољу интернационализација и вишејезичне функције, IPv6 способности, 64-битни приступ подацима, окружења за вишенитне апликације, будуће компатибилне верзије, и кодове веће преносивости.Lee, Elliot (2001). У овом тренутку, програмери Линукс језгра прекидају развој и настављају са даљим коришћењем ФСФ-овог glibc-а."Forking: it could even happen to you". the split between GNU LIBC and the Linux LIBC -- it went on for years while Linux stabilized, and then the forks re-merged into one project
Последња верзија Линукс libc-а се користила под именом (soname) libc.sо.5. Надаље, glibc 2.x на Линуксу користи soname libc.sо.6"Fear of Forking essay, see "6. glibc --> Linux libc --> glibc"". (Алфа и IA64 архитектуре сада користе libc.sо.6.1).*.sо име фајла се често мешало са libc6 (на пример у пакету за Дебијаном) пратећи стандардна усвајања за библиотеке.
Према Ричарду Столману, промене које су извршене у Линукс libc-у не могу бити стопљене назад у glibc јер је статус ауторства нејасан, а ГНУ пројекат је веома строг у вези рушења ауторских права и права аутора."Fear of Forking, footnote on Stallman's merge comments".
Постављање управног одбора Почевши од 2001. године развоја библиотеке је надгледао одбор, са Улриком Дрепером као главним сарадником и одрживачем. Постављање управног одбора је подлегло јавној расправи и котроверзи и како је отворено описао Улрик Дрепер, пропало непријатељско преузимање од стране Ричарда Столмана.rms-accused-of-attempting-glibc-hostile-takeover on slashdot.com on August 19, 2001
Премештање на git Док је пре био у ЦВС-овом складишту, у 2009. glibc је прешао у git-ово складиште на Sourceware.glibc repo on Sourceware.com
Дебијан прелази на EGLIBC Након многих контроверзи о Дреперовом стилу управљања и прихватању спољашњег доприноса,Ulrich Drepper 2007-10-03 06:13:55 UTC "This has nothing to do with "x86 only". All ABIs designed by people who have a bit of understanding require no change. Any change will negatively impact well designed architectures for the sole benefit of this embedded crap. But your own version of the file in the add-on." Дебијан је јавно прешао на glibc-ов развој EGLIBC 2009.године.
Распуштање управног одбора У Марту 2012, управни одбор је гласао за то да треба да се распусти а да се уклони Дрепер у корист процеса развоја заједнице, са Рајаном Арнолдом, Максимом Кувyрковим, Јозефом Мајерсом, Карлосом О'Донелом, и Александре Оливом одговорним за одржавање односа са ГНУ (али без додатне моћи одлучивања).
Након промене сектора за одржавање glibc-а Дебијан и други пројекти су се вратили назад на glibc, који су се претходно прикључили алтернативама. Такође, од само почетка 2014-те, glibc-ов развој EGLIBC се више није спорводио, откако су "циљеви сада директно усмерени ка GLIBC-у".
Историја верзија За многе системе, верзије glibc-a се могу добити извршавањем либ фајлова (на пример, /lib/libc.so.6). Верзије Датум Белешке Прихватање 0.1 – 0.6 Окт 1991 – Фебруар 1992 1.0 Фебруар 1992 1.01 – 1.09.3 Март 1992 – Децембар 1994 1.90 – 1.102 Мај 1996 – Јануар 1997 2.0 Јануар 1997 2.0.1 Јануар 1997 2.0.2 Фебруар 1997 2.0.91 Децембар 1997 2.0.95 Јул 1998 2.1 Фебруар 1999 2.1.1 Март 1999 2.2 Новембар 2000 2.2.1 Јануар 2001 2.2.2 Фебруар 2001 2.2.3 Март 2001 2.2.4 Јул 2001 2.3 Октобар 2002 2.3.1 Октобар 2002 2.3.2 Фебруар 2003 Дебијан 3.1 (Сарџ) 2.3.3 Децембар 2003 2.3.4 Децембар 2004 Стандард за Линукс стандардну базу (LSB) 3.0 РХЕЛ 4 (Верзија 5) 2.3.5 Април 2005 SLES 9 2.3.6 Новембар 2005 Дебијан 4.0 (Etch) 2.4 Март 2006 Стандард за ЛСБ 4.0, почетна inotify подршка SLES 10 2.5 Септембар 2006 Комплетна inotify подршка РХЕЛ 5 2.6 Мај 2007 2.7 Октобар 2007 Дебијан 5 (Лени), Убунту 8.04 2.8 Април 2008 2.9 Новембар 2008 2.10 Maj 2009 2.11 Октобар 2009 SLES 11, Убунту 10.04, eglibc коришћен u Дебијан 6 2.12 Maj 2010 РХЕЛ 6 2.13 Јануар 2011 eglibc 2.13 коришћен у Дебијан 2.14 Јун 2011 2.15 Март 2012 Убунту 12.04 и 12.10 2.16 Јун 2012 x32 подржан, ISO C11 приджавање, SystemTap 2.17 Децембар 2012 64-bit AR Убунту 13.04, РХЕЛ 7 2.18 Август 2013 Побољшан C++11 подржан. Подржан за интел ТСХ. Подржан за Хиликс MicroBlaze и IBM POWER8 микроархитектура. Федора 20 2.19 Фебруар 2014 SystemTap пробе за malloc. ГНУ Индиректна функција (ИФУНЦ) подрзана за ppc32 и ppc64. Нова моућност macro _DEFAULT_SOURCE за замену _SVID_SOURCE и _BSD_SOURCE. Прелиминарна сигурна документација за све мануелне функције. ABI промена ucontext-а и jmp_buf за s390/s390x. Убунту 14.04, eglibc 2.19 коришћен за Дебијан 8 2.20 Септембар 2014 Подршка за опис фајла Федора 21 2.21 Фебруар 2015 Нова семафор имплементација Убунту 15.04, пробни Дебијан, Федора 22 2.22 Август 2015 Google Native Client (NaCl) за рад на ARMv7-A, Unicode 7.0 Федора 23
Подржани хардвери и језгра Glibc се користи у системима који користе много различитих језгара и различите хардверске архитектуре. Његова најчешћа употреба је у системима који користе Линукс језгро на x86 хардверу, међутим, званично подржавани хардвери"The GNU C Library machine maintainers." укључују: ARM архитектура, DEC Alpha, PA-RISC, IA-64, Моторола м68к, MicroBlaze, MIPS, Nios II, PowerPC, s390, SPARC, TILE, и x86. Она такође званично подржава Хурд и Линукс језгра. Поред тога, постоје закрпљене верзије које раде на језгрима FreeBSD и NetBSD (од којих се Дебијан ГНУ /kFreeBSD и Дебијан ГНУ/NetBSD системи граде), као и развојна-верзија OpenSolaris.Bartley, David; Spang, Michael. Он се такође користи (у облику едитора), а назван је libroot.so у BeOS-у и Haiku-у."Haiku Source". libroot.so is not part of GNU project and is included in Haiku source code.
Функционалност Glibc обезбеђује потребну функционалност од стране Single UNIX Specification-а, Посикс-а (1c, 1d, и 1j) и неке функционалности базиране на ISO-у C11, ISO C99, Беркли Јуникс (BSD) окружења, System V Interface Definition (СВИД) и X/Open Portability Guide (XПГ), издање 4.2, са свим наставцима заједничких XSI (X/Open System Interface) у складу система са свим X/Open UNIX екстензијама.
Такође, glibc омогућава и екстензије које су биле неопходне приликом стварања ГНУ-а.
Коришћење у мали уређајима Glibc је критикован као "напумпан" и спорији је од других библиотека које су коришћене у прошлости, на пример, критикован је од стране Линуса ТорвалдсаTorvalds, Linus (9 January 2002). и програмера уграђеног Линукса. Из тог разлога, створено је неколико алтернативних C стандарда који остављају мање последице. Алтернативне библиотеке су Bionic (базирана углавном на библиотекама из BSD и коришћеним у Андроиду"Bionic libc README".), dietlibc, uClibc, Newlib, Klibc, и musl.
Међутим, многи пројекти мањих уређаја пре користе ГНУ libc над мањим алтернативама због подршке апликација, усклађености са стандардима и због комплетности. Пример укључује Openmoko"OpenMoko components" . и Familiar Linux за iPaq диктафоне (када користе ГПЕ графику софтвера)."Re: [Familiar] Which glibc for Familiar 0.8.4 ?"
Види још Gnulib libhybris Линукс АПИ
Референце
Спољашње везе GNU libc homepage GNU libc developers' page
Категорија:Бесплатни софтвер програмиран у C-у