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 |  | Might actually work now that pthreads are working. Someone care to give it a try?
Dunno.... |  | If you know of an application that does not work with uClibc, let me know.

uClibc -- WORKING 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 | busybox-0.60.3.tar.bz2 |  | Busybox is a small replacement for most major Unix tools. All versions of BusyBox work with uClibc without changes.
TinyLogin | tinylogin-snapshot.tar.gz |  | A small replacement for login, getty, passwd, adduser, deluser, etc.
uDHCP | udhcp-0.9.8.tar.gz |  | A tiny but fully RFC compliant DHCP client and/or server.
boa webserver | boa-0.94.11.tar.gz |  | Boa is a very small, high performance web server.
XFree86 |  | 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.
GNU Fileutils | fileutils-4.1.tar.gz | patch information | The GNU File Utilities provide basic file-manipulation commands.
GNU shellutils | sh-utils-2.0.tar.gz |  | The GNU Shell Utilities provide basic shell-manipulation commands.
GNU findutils | findutils-4.1.tar.gz |  | Provides find, locate, and xargs
GNU Textutils | textutils-2.1.tar.gz |  | The GNU Text Utilities provide basic text-manipulation commands.
util-linux | util-linux-2.11u.tar.gz | disable "ENABLE_WIDECHAR" in defines.h | A suite of essential utilities for any Linux system.
GNU grep | grep-2.4.2.tar.gz |  | Grep searches one or more input files for lines containing a match to a specified pattern.
| sed-3.02.tar.gz |  | Sed (streams editor) is a tool to filter and modify text streams
Gzip | gzip-1.2.4a.tar.gz |  | gzip (GNU zip) is a popular data compression program (version 1.3.3 is also OK)
Bzip2 | bzip2-1.0.2.tar.gz |  | bzip2 is a freely available, patent free (see below), high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.
zlib | zlib-1.1.4.tar.gz |  | zlib is a very popular compression library that uses the same underlying methods as gzip.
GNU tar | tar-1.13.tar.gz |  | The name `tar' comes from its original use; it stands for tape archiver. It is used to store archives of data into a single file which can then be stored and transported.
wget | wget-1.8.2.tar.gz |  | GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP
GNU less | less-358.tar.gz |  | less is a utility for viewing text files
Bash shell | bash-2.05a.tar.gz |  |
readline | readline-4.2a.tar.gz |  | The GNU Readline library provides applications with command line editing, used by BASH as well as other things.
GNU Texinfo | texinfo-4.0.tar.gz |  | Texinfo is the official documentation format of the GNU project.
gawk | gawk-3.1.0.tar.gz |  | The `awk' utility interprets a special-purpose programming language that makes it possible to handle simple data-reformatting jobs with just a few lines of code.
mawk | mawk1.3.3.tar.gz |  | Mike's awk implementation, which is smaller and faster then gawk
gpm | gpm-1.19.6.tar.gz |  | The gpm (general purpose mouse) daemon tries to be a useful mouse server for applications running on the Linux console.
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.
lame mp3 encoder |  |  | LAME is the source code for a fully LGPL'd MP3 encoder, with speed and quality to rival all commercial competitors.
wavplay | wavplay-1.4.tar.gz |  | Utilities to play and record WAV files
lrzsz | lrzsz-0.12.20.tar.gz |  | lrzsz is a unix communication package providing the XMODEM, YMODEM ZMODEM file transfer protocols.
pcmcia-cs | pcmcia-cs-3.1.29.tar.gz |  | A complete Linux PCMCIA support package.
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.5 |  | 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.
e2fsprogs | e2fsprogs-1.27.tar.gz |  | Utilities to create and check ext3 and ext2 filesystems under Linux
Linux-NTFS tools | linux-ntfs-1.5.1.tar.gz |  | Utilities to create and check NTFS filesystems under Linux
dosfstools | dosfstools-2.8.src.tar.gz |  | Utilities to create and check MS-DOS filesystems under Linux
LILO bootloader | lilo-22.1.tar.gz |  | 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 | libpng-1.2.1.tar.gz |  | 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
Program | Version | Needs Patch | Comment
GCC | gcc-2.95.3.tar.gz gcc-3.1.1.tar.gz | c-compiler, c++-compiler compiler work fine, libio build currently fails | GCC is the compiler for GNU/Linux systems.
GNU binutils | binutils-2.13.tar.gz | Add CFLAGS+=-D__FORCE_NOGLIBC | The GNU assembler, linker and binary utilities.
GDB: The GNU Debugger | gdb-5.1 | By default gdbserver does not get built. Once gdb is built, you can change gdb/gdbserver/Makefile to use xxx-uclibc-gcc, and then run make to get gdbserver to build. | gdb allows you to debug applications. gdbserver allows you to debug applications running on a remote system.
GNU make | make-3.79.1.tar.gz |  | Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.
GNU patch | patch-2.5.4.tar.gz |  | Patch takes a patch file (containing a difference listing produced by diff) and applies those differences to one or more original files, producing patched versions.
Diffutils | diffutils-2.7.tar.gz |  | The diff command can show differences between files and directories
GNU indent | indent-2.2.7.tar.gz |  | The indent program can be used to make code easier to read. It can also convert from one style of writing C to another.
Flex | flex-2.5.4a.tar.gz |  | Flex is a fast lexical analyser generator.
Bison | bison-1.32.tar.gz |  | Bison is a general-purpose parser generator that converts a grammar description for an LALR context-free grammar into a C program to parse that grammar.
m4 | m4-1.4.tar.gz |  | GNU m4 is an implementation of the traditional Unix macro processor, and is the foundation for GNU autoconf and automake.
GNU autoconf | autoconf-2.13.tar.gz |  | GNU Autoconf is used for generating configure scripts, which are present in a large number of free software packages and are used to detect system features at compilation time.
GNU Automake | automake-1.5.tar.gz |  | Automake is a tool for automatically generating Makefiles
libtool | libtool-1.4.2.tar.gz |  | GNU libtool is a generic library support script.
gettext | gettext-0.10.40.tar.gz |  | GNU gettext provides a set of tools for adding multi-lingual messages to applications.
NASM assembler | nasm-0.98.tar.gz |  | NASM is the Netwide Assembler, a free portable assembler for the Intel 80x86 microprocessor series, which uses the traditional Intel instruction mnemonics and syntax.
bin86 | bin86-0.16.0.tar.gz |  | The as86 and ld86 provide a complete 8086 assembler and loader which can generate 32-bit code for the 386+ processors. These tools are used to create the 16-bit bootsector and setup binaries for linux. The syntax is not compatible with the GNU assembler.
strace | strace_4.4-1.tar.gz |  | Strace is a system call trace, i.e. a debugging tool which prints out a trace of all the system calls made by a another process/program.
ltrace | ltrace_0.3.16.tar.gz |  | ltrace is a program that simply runs the specified command until it exits. It intercepts and records the dynamic library calls, which are called by the executed process, and the signals which are received by that process. It can also intercept and print the system calls executed by the program. Its use is very similar to strace(1) .
lsof | lsof_4.61.tar.gz |  | Lsof is a Unix-specific diagnostic tool. Its name stands for LiSt Open Files, and it does just that. It lists information about any files that are open by processes currently running on the system. It can also list communications open by each process.
e3 text editor | e3-2.33.tar.gz |  | a full featured very tiny text editor
kbd | kbd-1.06.tar.gz |  | The kbd package contains font, keytable and keyboard utilities for Linux.
hdparm | hdparm-4.6.tar.gz |  | A utility to tune hard disk parameters for high performance.
devfsd | devfsd-v1.3.22.tar.gz |  | Devfsd provides configurable management of device nodes using the Linux Device Filesystem.
sysklogd | sysklogd-1.4.1.tar.gz |  | The sysklogd package implements a syslogd daemon which is responsible for handling requests for syslog services, and a klogd daemon, which listens for kernel log messages and routes them to syslogd.
Dillon's Cron | dcron-2.3.3.tar.gz |  | Dillon's Cron is a multi-user cron focused on usability and reliability, and is the standard cron distributed with most distributions of Linux.
man | man-1.5j.tar.gz |  | This package provides the man command, the primary tool for reading on-line help files (manual pages).
fetchmail | fetchmail-5.9.6.tar.gz |  | Fetchmail is a mail retrieval and forwarding utility that supports POP2, POP3, RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR.
GNU Midnight Commander | mc-2002-02-01-14.tar.gz |  | GNU Midnight Commander is a file manager for free operating systems.
netfilter/iptables | latest | IP6 reported to not be working yet | IP packet filtering tools for use with 2.4.4+ Linux kernels.
pppd | ppp-2.4.1.tar.gz |  | ppp (Paul's PPP Package) is an open source package which implements the Point-to-Point Protocol (PPP).
iproute2 | iproute2-2.2.4-now-ss991023.tar.gz |  | The tool you use to do all sorts of advanced routing funkiness
ntpclient | ntpclient_2000_345.tar.gz |  | ntpclient is an NTP (RFC-1305) client targeted at embedded computers.
file | file-3.37.tar.gz |  | File attempts to classify files depending on their contents and prints a description if a match is found.
Links Web Browser | links-0.96.tar.gz |  | Links is text more web browser, similar to Lynx, that does a fine job rendering tables and such. It can do downloads in the background and uses HTTP/1.1 keepalive connections.
glib | glib-1.2.10.tar.gz |  | GLib is a library containing many useful C routines for things such as trees, hashes, and lists. GLib is the foundation for the GTK toolkit.
procmail | procmail-3.22.tar.gz |  | procmail is a very nice mail-filtering tool.
RP-PPPoE | rp-pppoe-3.3.tar.gz |  | A PPP over Ethernet client and server
Ghostscript | ghostscript-7.04.tar.gz |  | An interpreter and printing system for PostScript and PDF
libpcap | libpcap-0.7.1.tar.gz |  | Packet capture library used by TCPDump et al.
freeswan | freeswan-1.98b.tar.gz | Works fine w/o changes, even with the x509 patch and dhcprelay | Linux FreeS/WAN is an implementation of IPSEC and IKE for Linux
Icarus Verilog | verilog-0.6.1.tar.gz |  | Icarus Verilog is a Verilog simulation and synthesis tool
GTK+ | gtk+-1.2.10.tar.gz |  | GTK+ is a multi-platform toolkit for creating graphical user interfaces
Vim/gvim | vim-6.1.tar.bz2 |  | Vim is a highly configurable text editor built to enable efficient text editing
LessTif | LessTif 0.93.18 |  | LessTif is the Hungry Programmers' version of OSF/Motif(R)
FVWM | fvwm-2.4.6.tar.bz2 |  | FVWM is an extremely powerful ICCCM-compliant multiple virtual desktop window manager for the X Window system
Agendaroids | agendaroids-2002.03.07.tar.gz |  | Agendaroids" is a clone of the classic arcade game "Asteroids."
bochs | bochs-1.4.tar.gz |  | Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Currently, bochs can be compiled to emulate a 386, 486 or Pentium CPU. Bochs is capable of running most Operating Systems inside the emulation including Linux, Windows(R)95, DOS, and recently Windows(R) NT 4.
DirectFB | DirectFB-0.9.9.tar.gz |  | DirectFB is a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers on top of the Linux Framebuffer Device.
FLTK | fltk-1.1.0b11-source.tar.bz2 |  | A C++ user interface toolkit for X11/WIN32/MacOS and OpenGL.
flwm | flwm-1.00.tgz |  | Flwm is an X window manager designed to be user friendly and use the absolute minimum amount of screen real estate. It has no icons, using a pop-up menu to select hidden or new windows, and sideways titlebars.
FreeType | freetype-2.0.9.tar.bz2 |  | A Free, High-Quality, and Portable Font Engine
Nixie Clock | nixieclock-1.40.tar.gz |  | This simple little desktop clock displays the current date and time in various time formats (including a custom 'strftime(3)' format) using little icons of actual nixie tube digits.
rxvt | rxvt-2.6.4.tar.bz2 |  | A VT102 emulator for the X window system
SDL | SDL-1.2.3.tar.gz |  | Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device.
SDL_image | SDL_image-1.2.1.tar.gz |  | an image file loading library for SDL
xmahjongg | xmahjongg-3.5.tar.gz |  | Colorful X solitaire Mah Jongg game
libungif | libungif-4.1.0b1.tar.gz |  | a library for using uncompressed GIFs
openssl | openssl-0.9.6e.tar.gz |  | 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.
OpenSSH | openssh_3.4p1.tar.gz |  | OpenSSH is a FREE version of the SSH protocol suite which encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other network-level attacks.
chkconfig | chkconfig-1.2.24h.tar.gz |  | a tool for managing the collection of symbolic links found in the /etc/rc.d directory
dialog | dialog-0.9b-20020622.tgz |  | dialog allows shell scripts to provide fancy text dialogs
nano | nano-1.0.9.tar.gz |  | nano is a pico text editor clone
popt | popt-1.6.4.tar.gz |  | library exists essentially for parsing command line options
Mysql 3.23 | Mysql 3.23 |  | A popular opensource database
sendmail 8.12.6 | sendmail 8.12.6 |  | The original mailer daemon
Net-SNMP | Net-SNMP | Reportedly needs './configure --disable-ipv6 --with-out-mib-modules="ucd_snmp ucd-snmp/disk ucd-snmp/diskio" | Various tools relating to the Simple Network Management Protocol
Wietse's portmap daemon | portmap_5beta.tar.gz | Needs this patch to work | Various tools relating to the Simple Network Management Protocol
MPlayer | MPlayer-0.90rc1.tar.bz2 | Seems to need "./configure --disable-setlocale --disable-termcap" to build cleanly. (and "--cc=path_to_uclibc_gcc" to use uClibc) | MPlayer is a movie player for Linux that supports almost all modern movie codecs.

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