Crystal Space 2.0.0: 2.3 External Libraries

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 2.3 External Libraries

Crystal Space may utilize several external, and publicly available development libraries. Those libraries need to be installed on your system before you can go on with the building of Crystal Space.

Depending on your system, you may refer to the specific page dedicated to the installation of those libraries:

- Windows
- Ubuntu and Debian based systems
- MacOS/X

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:

http://www.gzip.org/zlib/

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

Version: 1.2.x minimum

Crystal Space relies upon the `libpng` library for reading PNG graphic files. You can download `libpng` from:

http://www.libpng.org/pub/png/libpng.html

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

Version: 6b minimum

Crystal Space relies upon the `libjpeg` library for reading JPEG graphic files. You can download `libjpeg` from:

http://www.ijg.org/files/

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:

http://www.freetype.org/

### OpenAL

Version: unknown

Crystal Space can utilize the OpenAL library for 3D audio effects. You can get the latest version at:

http://connect.creativelabs.com/openal/

### ALSA

Version: unknown

If you are on a GNU/Linux system, then ALSA is needed for the audio support in Crystal Space. You can get the latest version at:

http://www.alsa-project.org/

### Open Sound System

Version: unknown

If you are on a GNU/Linux system, then Open Sound System is needed for the audio support in Crystal Space. You can get the latest version at:

http://www.opensound.com/oss.html/

### Ogg/Vorbis libraries

Version: 1.1.x recommended

With this libraries you can use the Ogg/Vorbis sound plugin. You can get the latest version at:

http://www.vorbis.com/download.psp

### Assimp

Version: 2.0 recommended

The Open Asset Import Library can be used to load transparently in Crystal Space assets from a wide list of different 3D file formats.

You can get the required version at:

http://assimp.sourceforge.net/

### Bullet

Version: 2.76 recommended

Crystal Space can provide physical simulation through Bullet. You can get the required version at:

http://bulletphysics.org/

### CEGUI

Version: 0.7.x required

Crystal Space uses CEGUI for some of it's own tool programs (e.g. `‘viewmesh’`) but also allows external programs to utilize CEGUI for their user interface.

http://cegui.org.uk

### wxWidgets

Version: 2.8.x recommended

Integration into wxWidgets is supported; a special canvas is provided that creates a WX window into which Crystal Space can render graphics. To compile this canvas, wxWidgets is required.

http://wxwidgets.org

### JACK

Version: unknown

The JACK library can be used by Crystal Space to combine audio streams. It can be installed from:

http://jackaudio.org/

### Speex

Version: unknown

The Crystal Space Speex plugin brings support for the playback of Speex compressed audio streams. The FOSS Speex codec is optimised for voice compression and brings disk space and memory savings over other codecs (e.g. ogg vorbis) while maintaining acceptable sound quality.

It can be installed from:

http://www.speex.org/

### libmng and Little CMS

Version: 1.0.9 recommended

Crystal Space can optionally utilize the `libmng` library for reading MNG/JNG graphic files. You can download `libmng` from:

http://www.libmng.com/

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:

http://www.littlecms.com/

### vgvm, Cairo and Cairomm

Version: unknown

Crystal Space can optionally utilize the `vgvm` library for reading SVG graphic files. You can download `vgvm` from:

http://sourceforge.net/projects/vgvm/

This library has a dependency on the Cairo and Cairomm libraries, which therefore need to be installed too:

http://cairographics.org/cairomm/

### Python

Version: unknown

Python can be used for Crystal Space thanks to the Python Bindings. You can download it from:

http://python.org/

### GTK

Version: unknown

GTK can be needed on some GNU/Linux distributions. It can be downloaded from:

http://www.gtk.org/

### Curl

Version: unknown

Curl can be used by Crystal Space to communicate over the HTTP protocol. It can be installed from:

http://curl.haxx.se/

### Cal3D

Version: 0.11.x required

Crystal Space supports skeletal animation using the Cal3D library. You can obtain the required version at:

https://gna.org/projects/cal3d/

### lib3ds

Version: 1.2.0 recommended

Crystal Space has support for the popular 3ds model format using the lib3ds library. It is recommended that you use the 1.2.0 release.

http://lib3ds.sourceforge.net/

### ODE

Version: 0.8 recommended

Crystal Space contains a plugin providing physics through ODE. You can get the required version at:

http://www.ode.org/

Note: You must compile ODE with OPCODE support enabled in order to use the library with Crystal Space.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated using texi2html 1.76.