This projects relies on a number of third party packages. Soft packages that you must install are bold and italic software packages you could install to gain extra features are italic.
Bullet has no mandatory dependencies, but you can optionally install libglu-dev or freeglut3-dev and build the bullet demos. Bullet itself is included in the source distribution, and does not need to be installed at the OS level. Bullet will be automatically compiled when you compiled the rest of the source code.
This is included with the source repository currently. Version 2.0 as part of a normal build. You won’t need either of these, but they could be useful if you need to test advanced SDL features.
- automake — Used to compile SDL
- mercurial — Retrieve SDL source from SDL repositories
Ogre has a large number of mandatory and optional dependencies that can be installed, the most relevant ones are listed below. Ogre 3d is included in the source distribution, and does not need to be installed at the OS level. Dependencies required by Ogre (in Ubuntu names):
- libxaw7-dev — A set of simple X11 widgets, this is mandatory for Ogre
- zlib1g-dev — Required to support opening Zip archives
- libfreeimage-dev — Used to allow automated load and handling of common image formats (jpg, gif, tga, etc…), so they can be used as 3d textures
- libfreetype6-dev — Works with fonts
- libzzip-dev — Also Required to open Zip archives
- libxrandr-dev — Somethings to do with X11, someone please put a real explanation here
- nvidia-cg-toolkit — Adds support for Cg shaders
- libglu1-mesa-dev and libgles1-mesa-dev — Opengl Rendersystem support (may not be required in all situations)
The follow packages can add extra functionality to, in case you want it, but we currently do not have plans to use them
- >libboost-thread-dev — This adds support for multhreading into Ogre, This allows for experimentation, on many linux distrobutions, but introduces a bug in the version of boost shipped with Ubuntu 11.04 when using c++0x threads. This should be avoided unless you are explicitly experimenting with threads.
- libois-dev — The Object-oriented Input System, is used by many Ogre projects and by the Ogre Demos
- libcppunit-dev — For Ogre unit testing
- libopengl-es-dev? — Not sure on the name, this might be it, But there is a Package that Enables Opengl 2.0 shaders in Ogre
Ogre version 1.7.3 is compiled in a future step when running the “BuildLinuxLibs” script.
This is our sound system. The source for this is included in the Libincludes directory, and this needs the following libraries:
A multimedia container format suitable for storing audio in our case. This is included with the Mezzanine in libincludes/common folder.
This is an audio encoding library that encodes and decodes audio efficiently. This is included with the Mezzanine in libincludes/common folder
This is a drop in replacement for the (needlessly) hardware accelerated and now closed source OpenAL. This requires at least one kind of sound system header installed on your system. In theory this could be any of the common ones, like ALSA, OSS, Jack, PulseAudio maybe even DSP. I installed Pulse Audio because it is the default in Ubuntu:
- libpulse-dev — Provides access to the sound hardware.
OpenAL-Soft is included with the Mezzanine in libincludes/common folder
For certain window integration features x11proto-core-dev and libx11-dev are required as well. These are core components and will likely be installed with some of the other development libraries.
For most Linux platforms installing the required libraries can be done in a few simple commands.
Installing the required libraries is incredibly easy on Ubuntu. Run the following command
sudo apt-get install libxaw7-dev zlib1g-dev libfreeimage-dev libfreetype6-dev libzzip-dev libwxgtk2.8-dev libxrandr-dev libogg-dev libopenal-dev libvorbis-dev nvidia-cg-toolkit x11proto-core-dev libx11-dev mercurial libgles1-mesa-dev libpulse-dev
Instructionson Other Linux Platforms
We formerly had Fedora instructions, but they are so out of date as to be potentially misleading. Instruction for any platform would be appreciated.