## 5.7. Interesting and Important Libraries

Table 5-2 lists some significant libraries included with Mac OS X and Table 5-3 lists some significant libraries that do not come with Mac OS X (but are available through Fink).

#### Table 5-2. Important Mac OS X libraries

Library | Description | Headers
--- | --- | ---
libalias | A packet aliasing library for masquerading and network address translation | Not included in Mac OS X. See the network_cmds module in the Darwin CVS archive.
libl.a | The lex runtime library | Not applicable. Lexical analyzers that you generate with lex have all the necessary definitions.
libMallocDebug | A library for the MallocDebug utility (/Developer/Applications) | Not applicable.You don't need to do anything special with your code to use this utility.
libncurses(libcurses is available for backward compatibility.) | The new curses screen library, a set of functions for controlling a terminal's display screen | /usr/include/ncurses.h (curses.h is available for backward compatibility.)
libobjc | The library for the GNU Objective-C compiler | /usr/include/objc/*
libpcap | Packet capture library | /usr/include/pcap*
libssl and libcrypto | An OpenSSL: 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 | /usr/include/openssl/*
libtcl | The Tcl runtime library | /usr/include/tcl.h
liby.a | The yacc runtime library | Not applicable. Parsers that you generate with yacc have all the necessary definitions.
libz | A general-purpose data-compression library (Zlib) | zlib.h

#### Table 5-3. Libraries that are missing from Mac OS X

Fink package | Description | Home page
--- | --- | ---
aalib | ASCII art library | http://aa-project.sourceforge.net/aalib
db3 | Berkeley DB embedded database | http://www.sleepycat.com/
db4 | Berkeley DB embedded database | http://www.sleepycat.com/
dlcompat | Dynamic loading compatibility library | http://fink.sourceforge.net
dtdparser | Java DTD Parser | http://www.wutka.com/dtdparser.html
expat | C library for parsing XML | http://expat.sf.net
fnlib | Font rendering library for X11 | http://www.enlightenment.org/
freetype | TrueType font rendering library, version 1 | http://www.freetype.org/
freetype2 | TrueType font rendering library, version 2 | http://www.freetype.org/
gc | General-purpose garbage collection library | http://www.hpl.hp.com/personal/Hans_Boehm/gc/
gd | Graphics generation library | http://www.boutell.com/gd/
gdal | Translator for raster geospatial data formats | http://www.remotesensing.org/gdal/
gdbm | GNU dbm | http://www.gnu.org
giflib | GIF image format handling library, LZW-enabled version | http://prtr-13.ucsc.edu/~badger/software/libungif/
glib | Low-level library that supports GTK+ and GNOME | http://www.gtk.org/
gmp | GNU multiple precision arithmetic library | http://www.swox.com/gmp/
gnomelibs | GNOME libraries | http://www.gnome.org
gnujaxp | Basic XML processing in Java | http://www.gnu.org/software/classpathx/jaxp
gtk | GTK+, the GIMP widget toolkit used by GNOME | http://www.gtk.org/
hermes | Optimized pixel format conversion library | http://www.clanlib.org/hermes/
imlib | General image handling library | http://www.enlightenment.org/pages/imlib2.html
libdivxdecore | OpenDivX codec | http://www.projectmayo.com/projects/detail.php?projectId=4
libdnet | Networking library | http://libdnet.sourceforge.net/
libdockapp | Library that eases the creation of WindowMaker Dock applets | ftp://shadowmere.student.utwente.nl/pub/WindowMaker/
libdv | Software decoder for DV format video | http://www.sourceforge.net/projects/libdv/
libfame | Fast Assembly Mpeg Encoding library | http://fame.sourceforge.net/
libghttp | HTTP client library | http://www.gnome.org/
libiconv | Character set conversion library | http://www.gnu.org/software/libiconv/
libiodbc | ODBC libraries | http://www.mysql.com/
libjconv | Japanese code conversion library | http://ghost.math.sci.hokudai.ac.jp/misc/libjconv/
libjpeg | JPEG image format handling library | http://www.ijg.org/
libmpeg | GIMP MPEG library | http://www.gimp.org
libmusicbrainz | Client library for the MusicBrainz CD Index | http://www.musicbrainz.org
libnasl | Nessus Attack Scripting Language | http://www.nessus.org/
libnessus | Libraries package for Nessus without SSL support | http://www.nessus.org/
libole2 | Library for the OLE2 compound file format | http://www.gnome.org/
libpoll | System V poll(2) Emulation Library | http://fink.sourceforge.net
libproplist | Routines for string list handling | http://www.windowmaker.org/
libshout | Library for streaming to icecast | http://developer.icecast.org/libshout/
libsigc++ | Callback system for widget libraries | http://developer.icecast.org/libshout/
libstroke | Translates mouse strokes to program commands | http://www.etla.net/libstroke/
libtiff | TIFF image format library | http://www.libtiff.org/
libungif | GIF image format handling library, LZW-free version | http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml
libunicode | Low-level Unicode processing library | http://www.sourceforge.net/projects/libunicode/
libwww | General-purpose Web API written in C for Unix and Windows | http://www.w3c.org/Library/Distribution.html
libxml | XML parsing library | http://www.gnome.org/
libxml++ | C++ interface to the libxml2 XML parsing library | http://sourceforge.net/projects/libxmlplusplus/
libxml2 | XML parsing library, version 2 | http://www.xmlsoft.org/
libxpg4 | Locale-enabling preload library | http://www.darwinfo.org/devlist.php3?number=9143
libxslt | XSLT library | http://www.xmlsoft.org/XSLT/
log4j | Library that helps the programmer output log statements to a variety of output targets | http://jakarta.apache.org/log4j
lzo | Real-time data compression library | http://www.oberhumer.com/opensource/lzo
neon | HTTP/WebDAV client library with a C API | http://www.webdav.org/neon/
netpbm | Graphics manipulation programs and libraries | http://netpbm.sourceforge.net
pcre | Perl Compatible Regular Expressions library | http://www.pcre.org
pdflib | A library for generating PDFs | http://www.pdflib.com/pdflib
pil | The Python Imaging Library; adds image-processing capabilities to Python | http://www.pythonware.com/products/pil
pilot-link | Palm libraries | http://www.pilot-link.org/
popt | Library for parsing command-line options | http://www.gnu.org/directory/popt.html
pth | Portable library that provides scheduling | http://www.gnu.org/software/pth/pth.html
readline | Terminal input library | http://cnswww.cns.cwru.edu/~chet/readline/rltop.html
slang | Embeddable extension language and console I/O library | http://space.mit.edu/~davis/slang/
stlport | ANSI C++ Standard Library implementation | http://www.stlport.org/

The list of available libraries is ever-growing, thanks to an influx of open source ports from FreeBSD and Linux. One of the best ways to keep on top of the latest ports is to install Fink (see Section 6.1 in Chapter 6), which lets you install precompiled versions of libraries and applications or install them from source.

Copyright © 2003 O'Reilly & Associates. All rights reserved.