This section will present most of the libraries that may be used by Crystal Space.

If you use configure for the configuration of Crystal Space, then a
comprehensive list of the libraries is printed at the end of the process,
classified whether they have been found or not.

Here is a first list of the main libraries that are needed by Crystal Space,
and are considered mandatory:

OpenGL

X Window System (only needed for the systems based on it)

CG

zlib

libpng

libjpeg

Freetype2

Here is a second list, with the libraries that are highly recommended:

OpenAL

ALSA (only needed for GNU/Linux)

Open Sound System (only needed for UNIX based systems)

Ogg/Vorbis

Assimp

Bullet

CEGUI

wxWidgets

And finally, here is a third list, with the libraries that are considered optional:

JACK

Speex

libmng and Little CMS

Little CMS (only for some OpenBSD installations)

vgvm, Cairo and Cairomm

Python

GTK

Curl

Cal3D

lib3ds

ODE

Most of these libraries are optional. If you do not have them installed, then
Crystal Space will still function, though features related to the missing
libraries will be disabled. Despite being optional, at the very minimum, you
should at least ensure that zlib, libpng, and libjpeg are installed since much
useful functionality depends upon those libraries. Many computer systems come
with these libraries pre-installed. If the libraries are not already available
on your system, then see the following sections for information about how to
obtain them.

If you need to install some of the libraries yourself pay attention to the
versions states below.

“Required” means that you need to install exactly
the version stated, otherwise Crystal Space can not use the library.

“Recommended” means that the version stated is known to work well with
Crystal Space, however, older or newer versions may work as well. If you have
a choice between multiple versions for a library, pick the recommended one.

“Minimum” means that a library needs to be at least of the version stated,
but newer versions are very likely to work as well and can be chosen.

OpenGL

OpenGL is needed to provide accelerated 3D graphics on all platforms.

No special effort is usually needed to install the development components on
Windows or MacOS/X, as the various Development Kits for that platform
generally contain the headers and libraries needed to utilize OpenGL.

For other platforms the exact installation procedure depends on the operating
system/distribution you're using. While the runtime components are usually
installed when a graphical desktop is used, development components may
still have to be. It is outside the scope of this manual to detail how this
is done on the various distributions and platforms, please refer to other
resources for that.

X Window System

This is needed to enable graphical output on a number of Unix-like operating
systems, most prominently GNU/Linux. It is not needed for Windows
or MacOS/X.

The exact installation procedure depends on the operating system/distribution
you're using. If you are, what is likely, running a graphical desktop, the
needed runtime components of the X Window System are installed and functioning
on your system. However, development components (headers and libraries) may
still have to be installed. It is outside the scope of this manual to detail
how this is done on the various distributions and platforms, please refer to
other resources for that.

CG

Version: 2.0 minimum

Many Crystal Space shaders require the CG library from nVidia.
Crystal Space depends on the CG library with version number at least
equal to 1.4. If you're on GNU/Linux then you may not find a package
with that version available, in this case you have to directly download this
from http://developer.nvidia.com/object/cg_toolkit.html#downloads.

zlib

Version: 1.0 minimum

Crystal Space relies upon the zlib library for reading ZIP files,
and for a few other uses. You can download zlib from:

After downloading you can either install the package normally (i.e. ‘make
install’) or unpack it into the directory ‘CS/libs/zlib*’. In general, if
you have permission to do so, it is best to install the library.

libpng

After downloading you can either install the package normally (i.e. ‘make
-f scripts/makefile.std install’) or unpack it into the directory
‘CS/libs/libpng*’. In general, if you have permission to do so, it is
best to install the library.

libjpeg

After downloading you can either install the package normally (i.e. ‘make
install’) or unpack it into the directory ‘CS/libs/jpeg*’. In general,
if you have permission to do so, it is best to install the library.

Freetype2

Version: 2.1.x minimum

Crystal Space can utilize the FreeType2 library to display TrueType fonts. You
can get the latest version at:

libmng and Little CMS

After downloading you can either install the package normally (i.e. ‘make
install’) or unpack it into the directory ‘CS/libs/libmng*’. In general,
if you have permission to do so, it is best to install the library.

On some OpenBSD installations, the libmng library may have a dependency
on the Little CMS library. In this case, it has to be installed from: