µ C l i b c

uClibc -- a C library for embedded systems
uClibc (aka µClibc/pronounced yew-see-lib-see) is a C library for developing embedded Linux systems. It is much smaller then the GNU C Library, but nearly all applications supported by glibc also work perfectly with uClibc. Porting applications from glibc to uClibc typically involves just recompiling the source code. uClibc even supports shared libraries and threading. It currently runs on standard Linux and MMU-less (also known as µClinux) systems with support for ARM, i386, h8300, m68k, mips, mipsel, PowerPC, SH, SPARC, and v850 processors.

If you are building an embedded Linux system and you find that glibc is eating up too much space, you should consider using uClibc. If you are building a huge fileserver with 12 Terabytes of storage, then using glibc may be a better choice...

uClibc is maintained by Erik Andersen and is licensed under the GNU LIBRARY GENERAL PUBLIC LICENSE . This license allows you to make closed source commercial applications using uClibc (Please consider sharing some of the money you make ;-). You do not need to give away all your source code just because you use uClibc and/or run on Linux.

Mailing List
uClibc has a mailing list. To subscribe, go and visit this page.

Frequently Asked Questions
uClibc now has a list of Frequently Asked Questions. You might want to take a look.
Known Working Applications List
uClibc now has a list of applications that are known to work. Submissions are welcome! Since most applications work just fine with uClibc, we are especially interested in knowing about any applications that either do not compile at all or do not work properly with uClibc.
Download
  • There is now a script that creates a daily snapshot tarball of uClibc and posts it on here.
  • uClibc also has a publicly browsable CVS tree
  • Anonymous CVS access is available, and
  • For those that are actively contributing there is even CVS write access.
Latest News
  • 28 May 2002, Native uClibc/gcc-3.1 toolchain
    CodePoet Consulting has released source code and a Makefile to build a gcc-3.1 toolchain that natively targets uClibc. Additionally, the gcc-3.0.4 and gcc-2.95 toolchains have also been updated. These toolchains make it easy to build uClibc based applications. Source code can be downloaded here and is now much smaller, since much of the needed binutils and gcc source code is now downloaded on demand. To build the toolchain, simply grab the source, edit the Makefile to select where you would like the toolchain installed, and then run 'make' and wait for it to compile.

  • 10 April 2002, uClibc 0.9.11 Released
    CodePoet Consulting is pleased to announce the immediate availability of uClibc 0.9.11. This release is primarily focused on fixing the issues that have turned up since the last release. Several bugs in the gcc wrapper have been fixed, allowing applications such as iproute2 and XFree86 to link properly. Large file support has been improved, and a thread locking bug was fixed that could cause s*printf calls to deadlock when threading was enabled. Several bugs were also fixed with the powerpc, h8300, m68k, sparc, and mips architecture support. Many additional applications now compile and run perfectly and have been added to the working applications list .

    The Changelog and source code for this release are available here.

  • Old News
    Click here to read older news.

Sponsors
Please visit our sponsors and thank them for their support! They have provided money, equipment, bandwidth, etc. Next time you need help with a project, consider these fine companies! Several individuals have also contributed (If you have contributed and would like your name added here, just email Erik and let him know).
Do you like uClibc? Do you need support? Do you need some feature added? Then why not help out? We are happy to accept donations (such as bandwidth, mirrors sites, and hardware for the various architectures). We can also provide support contracts, and implement funded feature requests. To contribute, you can either click on the Donate image to donate using PayPal, or you can contact Erik at CodePoet Consulting (we have a credit card machine so you can avoid PayPal if you wish).
TODO
Here are a few things on the TODO list:
  • Shared library support for all supported architectures. Currently, only x86, arm, powerpc, and mips have native shared library loader support. Several additional architectures need to have their own shared library loader.
  • Shared library support for mmu-less systems has been completed by two separate companies, but has not been contributed back.
  • Someone (hopefully) needs to volunteer to take the LSB Test Suite, pull out the C library testing stuff, and convert it (perl script, by hand, I don't care how) into a form that is usable without having it take over your entire system (i.e. similar to what is currently in the uClibc test suite). This will be enormously helpful!
  • other things as I think of them.
Other Open Source C libraries:
Links to other useful stuff


Mail all comments, insults, suggestions and bribes to Erik Andersen
This site created with the vi editor Graphics by GIMP Linux Today

Slashdot

Freshmeat