uClibc -- a C library for embedded systems

µ C l i b c

uClibc -- NOT WORKING Application List
The following applications are known to NOT work with uClibc. Please tell us if you know of any applications that fall into this category! When you are done, you can click here to return to the uClibc home page.
Program | Version | Comment
--- | --- | ---
Mozilla | all | Uses pthreads, which are not yet supported in uClibc (work on pthreads is in progress, contributions welcome).
Freeswan | all | Uses struct _res, which is not yet supported.

uClibc -- Application List
The following applications are known to work with uClibc, either out of the box or with a patch. Please tell us if you have experience with other versions (especially with newer ones) or with programs not listed below!
Program | Version | Needs Patch | Comment
--- | --- | --- | ---
Lots of other applications! |  |  | If you use an application with uClibc, let me know.
BusyBox | all (stable+CVS) |  | Busybox is a small replacement for most major Unix tools. All versions of BusyBox work with uClibc without changes.
TinyLogin | all (stable+CVS) |  | A small replacement for login, getty, passwd, adduser, deluser, etc.
XFree86 | pcmcia-cs-3.1.29.tar.gz | TinyX + uClibc howto | XFree86 is the underlying software that is between the hardware and graphical user interface (aka gui) that people see and use. It provides the standard windowing system for most Linux systems.
pcmcia-cs | pcmcia-cs-3.1.29.tar.gz |  | A complete Linux PCMCIA support package.
uDHCP | udhcp-0.9.5.tar.gz |  | A tiny but fully RFC compliant DHCP client and/or server.
gdbserver | gdb-5.1 | By default gdbserver does not get built with gdb, at least for x86. But once gdb is built (I just built it against glibc), you can change gdb/gdbserver/Makefile to use xxx-uclibc-gcc, and then run make in that directory. | gdbserver allows you to debug applications running on a remote system.
lrzsz | lrzsz-0.12.20.tar.gz |  | lrzsz is a unix communication package providing the XMODEM, YMODEM ZMODEM file transfer protocols.
Microwindows | CVS version |  | Microwindows is a small windowing system similar to the X Window System.
MAD: MPEG Audio Decoder | mad-0.13.0b | ./configure --disable-nls | MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1 and the MPEG-2 extension to Lower Sampling Frequencies, as well as the so-called MPEG 2.5 format. All three audio layers (Layer I, Layer II, and Layer III a.k.a. MP3) are fully implemented. It also supports doing fixed point math, so it works great on FPU-less chips like ARM.
zlib | zlib-1.1.3 |  | zlib is a compression library. Works great.
newt | all versions |  | Newt is a curses based text windowing library. Very useful for making console applications.
ncurses | 5.2 |  | ncurses is a standard terminal handling library.
slang | 1.4.4 |  | Slang does the same sort of thing that ncurses does -- and with a bit of wrapper code can act as a full replacement. Very useful for making console applications (such as newt). Because the full slang provides many other things, I personally use a massively cut down version called minislang, which also works great, handles the ncurses type slang APIs only, and is just 80k compiled vs uClibc.
LSH | 1.2.5 | patch | A relatively small implementation of the SSH protocol.
flash-0.9.5 | 0.9.5 |  | A secure menuing shell.
djbdns | 1.0.5 |  | D. J. Bernstein's DNS implementation.
netfilter/iptables | latest | IP6 not working yet | IP packet filtering tools for use with 2.4.4+ Linux kernels.
pppd | 2.4.1 |  | ppp (Paul's PPP Package) is an open source package which implements the Point-to-Point Protocol (PPP).
util-linux | 2.11m |  | A suite of essential utilities for any Linux system.
boa webserver | 0.94.11 |  | Boa is a very small, high performance web server.
GNU binutils | 2.11.2 | Add CFLAGS+=-D__FORCE_NOGLIBC | The GNU assembler, linker and binary utilities.
openssl | openssl-0.9.6b |  | A robust, commercial-grade, full-featured, Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. 'make test' completes without any failures.
e2fsprogs | 1.25 |  | The filesystem utilities for the ext2 and ext2 filesystems.
LILO bootloader | 22.1 |  | Lilo is a Boot loader for Linux/x86 and other PC operating systems.
Bluez Bluetooth stack | latest |  | BlueZ is implementation of Bluetooth protocol stack for Linux. Originally BlueZ was developed by Qualcomm Incorporated and then became an Open Source project.
Linux wireless tools | latest |  | The Wireless Extension is a generic API allowing a driver to expose to the user space configuration and statistics specific to common Wireless LANs. The beauty of it is that a single set of tool can support all the variations of Wireless LANs, regardless of their type (as long as the driver support Wireless Extension). Another advantage is these parameters may be changed on the fly without restarting the driver (or Linux).
libpng | 1.0.9 |  | The reference library implementing the Portable Network Graphics format, a really nifty (and patent free) image format. Passes 'make test' without problems.
libjpeg | jpegsrc.v6b.tar.gz |  | The Independent JPEG Group's implementation of the JPEG image compression format. Passes 'make test' just fine

Mail all comments, insults, suggestions and bribes to Erik Andersen |  |  |  |  |