Skip to content
Prev 257994 / 398502 Next

Problem installing XML in Ubuntu 10.10

Many of the libraries that are packaged by the various Linux
distributions come in two forms:

   1)  The basic library, which can be used by any program that
has been built to access the library, and

   2)  development versions (ending in -dev on Debian based systems,
and -devel on Red Hat based systems) which are required for compiling
any programs that need to access the library.

Often, all that's missing from an installation is one or two header (.h)
files, which is one of the things that the development packages provide.
Some of the more popular libraries, also include a "-config" command, 
that allows other programs to know the appropriate flags to use when 
creating programs that will access the libraries.  These commands are 
also part of the development package.

So, for example, on a system with curl installed, but libcurl-openssl-dev
or libcurl4-openssl-dev not installed, curl itself will work fine, and even 
some other programs that use curl will work, but you won't be able to compile 
any program that needs to use the curl library.

It seems to me that many Linux users encounter this for the first time when
they build a library from source.  Using apt-get search with the appropriate
terms will usually point you to the right package that's missing, for 
example  "apt-cache search curl dev" or "apt-cache search xml dev".  There will
usually be lots of packages listed, but  piping the results into a search
for Development will often narrow things down.  For example, the curl and 
xml development packages can be found like this:

$ apt-cache search curl dev | grep Development
libcurl4-gnutls-dev - Development files and documentation for libcurl (GnuTLS)
libcurl4-openssl-dev - Development files and documentation for libcurl (OpenSSL)
libcurl-ocaml-dev - OCaml libcurl bindings (Development package)

$ apt-cache search xml dev | grep Development
libapiextractor-dev - Development files for the library headers parser
libgdome2-dev - Development files for libgdome2
libmagics++-dev - Development files for ECMWF  plotting software MAGICS++
libpoco-dev - Development files for POCO - The C++ Portable Components
libxmlrpc-epi-dev - Development files for libxmlrpc-epi0, a XML-RPC request library
libxmlsec1-dev - Development files for the XML security library
monodevelop - Development Environment for GNOME
libaprutil1-dev - The Apache Portable Runtime Utility Library - Development Headers
libsoup2.4-dev - an HTTP library implementation in C -- Development files
libwebkit-dev - Web content engine library for Gtk+ - Development files
libxml2-dev - Development files for the GNOME XML library

Interestingly, for xml, it's last one listed.

 					- Phil Spector
 					 Statistical Computing Facility
 					 Department of Statistics
 					 UC Berkeley
 					 spector at stat.berkeley.edu
On Mon, 25 Apr 2011, Ben Tupper wrote: