GMediaServer is written to work on modern POSIX compatible systems, mainly the GNU system. It has been tested on GNU/Linux and FreeBSD.
The following programs are required to build GMediaServer:
GMediaServer uses some features specific to gcc 2.95, such as macros with variable number of arguments. The GNU C Compiler is part of the GNU Compiler Collection which can be downloaded from http://gcc.gnu.org/. In Debian and many other distributions the package is called gcc.
The following libraries are required to build and run GMediaServer:
Portable SDK for UPnP Devices (libupnp 1.6.0), 1.6.0 or later
The libupnp library is used for communication using the UPnP protocol. libupnp can be downloaded from http://upnp.sourceforge.net/. libupnp 1.6.0 and later can be downloaded from http://pupnp.sourceforge.net/.
Debian packages for libupnp are available in stable since the Sarge release. The runtime package is called libupnp0 (or libupnp2), and the package required when building is libupnp-dev.
The libmagic library is used to identify the contents of files. It is part of file, which can be downloaded from http://www.darwinsys.com/file/.
Debian packages for libmagic are available in stable since the Sarge release. The runtime package is called libmagic1, and the package required when building libmagic-dev. In other distributions libmagic may be included in the file package.
The following libraries are optional:
This library allows GMediaServer to retrieve ID3 information from MP3 files. id3lib can be downloaded from http://id3lib.sourceforge.net/.
The Debian package for id3lib is currently available in stable (Sarge) and is called libid3-3.8.3. In testing and unstable, the packages is libid3-3.8.3c2a. libid3-3.8.3-dev will be used when building GMediaServer.
This library is similar to id3lib in that it retrieves information from audio files. TagLib can be downloaded from http://developer.kde.org/~wheeler/taglib.html. Note that the C binding are used.
The Debian package for TagLib is available in stable (Sarge) and is called libtagc0. libtagc0-dev will be used when building GMediaServer.
E2fsprogs includes libuuid, which GMediaServer uses to generate universally unique ids (UUIDs). A UUID is generated every time GMediaServer is started and will be used by other devices to refer to the media server. libuuid is not required - if not detected by the configure script, it will be built from code included in the GMediaServer source code package (subdirectory uuid). E2fsprogs can be downloaded from http://e2fsprogs.sourceforge.net/.
The Debian package for libuuid is available in stable (Sarge) and is called libuuid1. uuid-dev will be used when building GMediaServer.
A number of programs are required to build GMediaServer using code from CVS only. Please see the DEPENDENCIES file from Gnulib for a complete list of dependencies.