Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
UClibc
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Implementation of C standard library for embedded systems based on Linux}} __NOTOC__{{Lowercase title}} {{Infobox software | name = uClibc | title = uClibc | logo = <!-- [[File: ]] --> | logo caption = | screenshot = <!-- [[File: ]] --> | caption = | collapsible = | author = | developer = Erik Andersen | released = {{Start date and age|2000|02|13}} | discontinued = yes | programming language = [[C (programming language)|C]] | operating system = [[Linux]] | platform = [[Embedded Linux]] | size = | language = | genre = {{ubl|[[Runtime library]]|[[C standard library]]}} | license = [[GNU Lesser General Public License|LGPLv2.1]]<ref>{{cite web |url=http://www.uclibc.org/FAQ.html#licensing |title=uClibc FAQ: Licensing |work=uclibc.org |access-date=11 July 2015}}</ref> | website = {{URL|https://www.uclibc.org/}} | repo = {{URL|https://git.uclibc.org/uClibc/}} }} {{Infobox software | name = uClibc-ng | title = uClibc-ng | latest release version = 1.0.48 | latest release date = {{Start date and age|2024|05|01}} | website = {{URL|https://www.uclibc-ng.org/}} | repo = {{URL|https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/}} }} In [[computing]], '''uClibc''' (sometimes written μClibc) is a small [[C standard library]] intended for [[Linux kernel]]-based operating systems for [[Linux for embedded systems|embedded systems]] and [[Linux for mobile devices|mobile devices]]. uClibc was written to support [[μClinux]], a version of Linux not requiring a [[memory management unit]] and thus suited for [[microcontroller]]s (uCs; the "u" is a [[Latin script]] typographical [[approximation]] - not a proper [[romanization]], which would be letter "m" - of [[μ]] for "micro").<ref>[http://www.uclibc.org/FAQ.html#naming uClibc naming] Accessed on February 10, 2008.</ref> Development on uClibc started around 1999.<ref>{{cite web |url=http://www.uclibc.org/copyright.txt |title=μClibc Copyright |format=TXT |access-date=February 23, 2024}}</ref> uClibc was mostly written from scratch,<ref>{{cite web | url = http://www.uclibc.org/FAQ.html#history | title = History | work = uClibc FAQ | access-date = 2007-06-19 }}</ref> but has incorporated code from glibc and other projects.<ref>{{cite web | url = http://www.uclibc.org/downloads/Changelog | title = uClibc Changelog | access-date = 2007-06-19 | quote = pthreads support (derived from glibc 2.1.3's linuxthreads library) [...] Merged in the random number support (rand, srand, etc) from glibc. |archive-url = https://web.archive.org/web/20070609171609/http://www.uclibc.org/downloads/Changelog <!-- Bot retrieved archive --> |archive-date = 2007-06-09}}</ref> The project lead is Erik Andersen, and the other main contributor is Manuel Novoa III. Licensed under the [[GNU Lesser General Public License]], uClibc is [[free and open-source software]]. [[File:Linux kernel System Call Interface and uClibc.svg|thumb|300px|right|uClibc is a wrapper around the [[system call]]s of the [[Linux kernel]] and [[μClinux]].]] uClibc is much smaller than the [[GNU C Library|glibc]], the C library normally used with Linux distributions. While glibc is intended to fully support all relevant C standards across a wide range of hardware and kernel platforms, uClibc is specifically focused on embedded Linux systems. Features can be enabled or disabled according to space requirements. uClibc runs on standard and [[memory management unit|MMU]]-less Linux systems. It supports [[Intel 386|i386]], [[x86-64]], [[ARM architecture|ARM]] (big/little endian), [[AVR32|Atmel AVR32]], [[Blackfin|Analog Devices Blackfin]], [[H8 Family|Renesas/Hitachi H8 (h8300)]], [[m68k|Motorola m68k]], [[MIPS architecture|MIPS]] (big/little endian), [[PowerPC|IBM PowerPC]], [[SuperH]] (big/little endian), [[SPARC|Sun SPARC]], and [[v850|Renesas/NEC v850]] processors. '''uClibc-ng'''<ref>{{cite web|url=https://www.uclibc-ng.org/|title=uClibc-ng|work=uclibc-ng.org|access-date=11 July 2015}}</ref> is a [[fork (software development)|fork]] of uClibc announced on the [[OpenWRT]] mailing list in July 2014 after more than two years had passed without a uClibc release, citing a lack of any communication from the maintainer.<ref>{{cite mailing list|mailing-list=openwrt-devel|url=https://lists.openwrt.org/pipermail/openwrt-devel/2014-July/026922.html|title=uClibc-ng|date=20 July 2014|last=Brodkorb|first=Waldemar|access-date=21 June 2017|archive-date=21 June 2017|archive-url=https://web.archive.org/web/20170621004032/https://lists.openwrt.org/pipermail/openwrt-devel/2014-July/026922.html}}</ref><ref>{{cite mailing list|mailing-list=uclibc|title=uClibc-ng |url=http://lists.uclibc.org/pipermail/uclibc/2014-July/048400.html |date=21 July 2014 |last=Petazzoni|first=Thomas |archive-url=https://web.archive.org/web/20170621001946/http://lists.uclibc.org/pipermail/uclibc/2014-July/048400.html |archive-date=2017-06-21}}</ref><ref>{{cite mailing list|mailing-list=openwrt-devel|url=https://lists.openwrt.org/pipermail/openwrt-devel/2014-July/026953.html|title=uClibc-ng|date=21 July 2014|last=Brodkorb|first=Waldemar|access-date=21 June 2017|archive-date=21 June 2017|archive-url=https://web.archive.org/web/20170621004048/https://lists.openwrt.org/pipermail/openwrt-devel/2014-July/026953.html}}</ref> At present, the original project's author no longer publishes updates, but refers to the still actively developed fork uClibc-ng for current releases.<ref>{{cite web |url=https://www.uclibc.org/news.html |title=uClibc - Latest News|access-date=2019-01-09}}</ref> ==See also== {{Portal|Free and open-source software}} {{Div col|colwidth=20em}} * [[Alpine Linux]] * [[Buildroot]] * [[busybox]] * [[Contiki]] * [[OpenWrt]] * [[musl]] * [[Linux for embedded systems]] * [[Linux for mobile devices]] {{div col end}} ==References== {{Reflist|30em}} ==Further reading== * {{cite book |author=Karim Yaghmour |author2=Jon Masters |author3=Gilad Ben-Yossef |author4=Philippe Gerum |title=Building Embedded Linux Systems|edition=2|publisher=O'Reilly Media|year=2008|isbn=978-0-596-52968-0|pages=115–127}} * {{cite book |author=von Hagen, William L. |title=The Definitive Guide to GCC, Second Edition |publisher=APress |location=Berkeley, CA |year=2006 |pages=290–297 |isbn=1-59059-585-8 }} ==External links== * [https://cxx.uclibc.org uClibc++ website] {{C programming language|state=collapsed}} {{Embedded systems}} {{DEFAULTSORT:Uclibc}} [[Category:2000 software]] [[Category:C standard library]] [[Category:Embedded Linux]] [[Category:Free computer libraries]] [[Category:Free software programmed in C]] [[Category:Interfaces of the Linux kernel]] [[Category:Linux APIs]] [[Category:Software using the GNU Lesser General Public License]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:C programming language
(
edit
)
Template:Cite book
(
edit
)
Template:Cite mailing list
(
edit
)
Template:Cite web
(
edit
)
Template:Div col
(
edit
)
Template:Div col end
(
edit
)
Template:Embedded systems
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Lowercase title
(
edit
)
Template:Main other
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)