Skip to main content

History: Prerequisites

Source of version: 55

Copy to clipboard
            {BOX(width="100%",class="Layout_box9")}{SPLIT(colsize=10%|70%)}{IMG(fileId="1711",imalign="left",link="Prerequisites",title="Prerequisites")}{IMG}
---
{DIV(class="bigBold")}((Prerequisites)){DIV}
What you need to build Ogre from source.
{SPLIT}{BOX}
!!Introduction
This is a small check list of things you need to do before you're ready to ((Building Ogre|build Ogre from source)).
{maketoc}
{VERSIONS(nav="y",title="y",default="Microsoft Windows")}
%clear%
{SPLIT(colsize=10%|70%)}{IMG(src="img/wiki_up/Big_Logo_Windows.jpg",height="66",width="66",imalign="left")}{IMG}
---
!! %done% Compiler Specific Prerequisites
!!! %done% Visual Studio
You need the latest service packs for your version of Visual Studio:
|| Visual Studio 2008 (VC9) | Service pack 1 __and__ the ATL security fix (available from Microsoft Update).
Visual Studio 2005 (VC8) | Service pack 1 ||

Visual Studio Express users should install the latest Express edition as separate service pack installs for those aren't available.
Get it from [http://www.microsoft.com/express/Downloads/].

----
!!! %done% MinGW
You need to grab the latest MinGW GCC from Twilight Dragon Media:
[http://www.tdragon.net/recentgcc/|http://www.tdragon.net/recentgcc/]
At this time of writing, it's tdm-mingw-1.908.0-4.4.1-2, based on GCC 4.4.1.
The official MinGW won't do. It must be based on GCC 4.4.x.
Install it to {MONO()}C:\mingw{MONO} and add {MONO()}C:\mingw\bin{MONO} to your PATH.

----
!! %done% DirectX SDK
You need to install the DirectX SDK if you intend to build and use the Direct3D render systems and/or OIS (for the samples).
The [http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2c7da5fb-ffbb-4af6-8c66-651cbd28ca15|DirectX SDK - February 2010] would be an excellent choice, as both Visual Studio and MinGW builds successfully against it.

When installed, it should have registered an environment variable called {MONO()}DXSDK_DIR{MONO}.
You can check this by running ''set DXSDK_DIR'' in a command prompt:
{CODE(wrap="1")}C:\>set DXSDK_DIR
DXSDK_DIR=C:\Program Files\Microsoft DirectX SDK (February 2010)\{CODE}
If the environment variable {MONO()}DXSDK_DIR{MONO} isn't present or set, you need to set it as CMake depends on it for finding DirectX.

----
!! %done% Boost
Boost is not required to build Ogre - it's optional. (:smile:)
The Boost Threads library is used by the paging component, which in turn is used by the terrain component, enabling background loading and thus faster response times.
It's recommended to get Boost 1.42.0.
Lucky users of Visual Studio 2003 - 2008 can use the [http://www.boostpro.com/download|Boostpro Boost Installers]. Be sure to install Boost Date Time and Boost Thread.
Users of Visual Studio 2010 and MinGW need to build Boost from source.
Get Boost 1.42.0 from [http://www.boost.org/|www.boost.org] and the bjam executable as detailed on [http://www.boost.org/doc/libs/1_42_0/more/getting_started/windows.html|the Boost compile page].
This line builds Boost date_time and thread using VC10:
{CODE(wrap="1")}bjam --build-dir="C:\boost-vc10" toolset=msvc-10.0 --build-type=complete --with-date_time --with-thread{CODE}
%note% Use the Visual Studio Command Prompt when issuing the command.
When done building, move the contents of ''build_dir/stage/lib'' to ''boost_dir/lib''.

CMake depends on the following environment variables to find Boost succesfully:
{MONO()}BOOST_ROOT{MONO} (''C:\Program Files\boost\boost_1_42'')
{MONO()}BOOST_INCLUDEDIR{MONO} (''C:\Program Files\boost\boost_1_42'')
{MONO()}BOOST_LIBRARYDIR{MONO} (''C:\Program Files\boost\boost_1_42\lib'')
Well, at least {MONO()}BOOST_ROOT{MONO}, but it can't hurt to set the two others.
----

!! %done% Dependencies
Visual Studio users need to compile the dependencies themselves: [https://sourceforge.net/projects/ogre/files/ogre-dependencies-vc%2B%2B/1.7/OgreDependencies_MSVC_20100501.zip/download|Visual Studio Dependencies]
MinGW users can grab the precompiled [https://sourceforge.net/projects/ogre/files/ogre-dependencies-mingw/1.7/OgreDependencies_MinGW_20100216.zip/download|MinGW Dependencies]

Unpack the dependencies into either your Ogre source directory, your Ogre build directory or somewhere else.
The directory should be named ''Dependencies'' if put into either the source or the build directory.
If you choose to place it elsewhere, you can name it however you like, as long as you're setting an environment variable {MONO()}OGRE_DEPENDENCIES_DIR{MONO} pointing to its location.

It's recommended to use the last option - {MONO()}OGRE_DEPENDENCIES_DIR{MONO} - as it makes it easier to manage several different dependencies (vc9, vc10, mingw) on the same computer, against the same Ogre source directory.

%warning2% Be sure to ''build'' the dependencies if using Visual Studio! Find the solution file in ''Dependencies/src''. And don't forget to build in both configurations: debug and release.
{SPLIT}
---(Linux)---
{SPLIT(colsize=10%|70%)}{IMG(src="img/wiki_up/Big_Logo_Linux.jpg",height="66",width="66",imalign="left")}{IMG}
---
!! %done% Ubuntu
{img src="img/wiki_up/Ubuntu_logo.png" alt="" imalign="right"}
For Ubuntu Karmic and above:

{CODE(caption="Compiler And Configuration Tools",wrap="1",colors="bash")}sudo apt-get install build-essential automake libtool{CODE}
{CODE(caption="Required Dependencies",wrap="1",colors="bash")}sudo apt-get install libzzip-dev libxt-dev libxaw7-dev libxrandr-dev libfreeimage-dev freeglut3-dev libois-dev libfreetype6-dev libpng3-dev{CODE}
{CODE(caption="Not Strictly Required Dependencies",wrap="1",colors="bash")}sudo apt-get install nvidia-cg-toolkit libois-dev libboost-dev{CODE}
{CODE(caption="Entirely Optional Dependencies",wrap="1",colors="bash")}sudo apt-get install doxygen graphviz libcppunit-dev{CODE}

%note% While {MONO()}nvidia-cg-toolkit{MONO}, {MONO()}libois-dev{MONO} and {MONO()}libboost-dev{MONO} are not strictly required, you'll want to install them:
*{MONO()}nvidia-cg-toolkit{MONO} is used by the Cg plugin for Cg shaders.
*{MONO()}libois-dev{MONO} is used as input library for the demos.
*{MONO()}libboost-dev{MONO} is used by the paging component and other background threading.

Could probably use {MONO()}libglew1.5-dev{MONO} instead of {MONO()}freeglut3-dev{MONO}. It is an open question whether or not {MONO()}libxt-dev{MONO} and {MONO()}libpng3-dev{MONO} is required.
----
!! %done% Fedora
{IMG(src="img/wiki_up/Fedora.jpg",alt="fedora.jpg", imalign="right")}{IMG}
This is a list of packages to install for Fedora 13:
{CODE(wrap="1",colors="bash")}gcc-c++ libxaw-devel freetype-devel freeimage-devel boost-devel ois-devel zziplib-devel{CODE}

{SPLIT}
---(Mac OSX)---
{SPLIT(colsize=10%|70%)}{IMG(src="img/wiki_up/Big_Logo_Macintosh.jpg",height="66",width="66",imalign="left")}{IMG}
---
Precompiled archive containing PPC and i386 binaries compiled against the 10.4u SDK: [https://sourceforge.net/projects/ogre/files/ogre-dependencies-mac/1.7/OgreDependencies_OSX_20091230.zip/download|OS X Dependencies]

{SPLIT}
{VERSIONS}
        

History

Information Version
Thu 15 of Oct, 2015 18:20 GMT-0000 Sauermann Added note about DirectX 9 SDK 125
Sat 14 of Feb, 2015 07:17 GMT-0000 gtsiam123 Added a warning about the install path 124
Thu 05 of Feb, 2015 11:39 GMT-0000 raffamaiden 123
Mon 06 of Oct, 2014 07:36 GMT-0000 spacegaier 122
Fri 04 of Jul, 2014 02:50 GMT-0000 excaliburHisSheath Updates the out-of-date warning for the Ubuntu apt repository to be accurate for Ubuntu 14.4 121
Thu 17 of Apr, 2014 02:58 GMT-0000 excaliburHisSheath Adds a note about installing DirectX on windows 120
Mon 23 of Dec, 2013 15:24 GMT-0000 jakesee 119
Wed 22 of May, 2013 16:55 GMT-0000 spacegaier 118
Tue 22 of Jan, 2013 08:31 GMT-0000 Transporter Update _ITERATOR_DEBUG_LEVEL bug note: The original instructions have been written for the original source and not CMake 117
Mon 23 of Jul, 2012 16:54 GMT-0000 TheSHEEEP 116
Sun 22 of Jul, 2012 12:55 GMT-0000 TheSHEEEP 115
Sun 22 of Jul, 2012 12:49 GMT-0000 TheSHEEEP 114
Sun 22 of Jul, 2012 12:04 GMT-0000 TheSHEEEP 113
Sun 22 of Jul, 2012 10:57 GMT-0000 TheSHEEEP Added likely "outdated" information 112
Sun 22 of Jul, 2012 10:53 GMT-0000 TheSHEEEP 111
Sun 22 of Jul, 2012 10:35 GMT-0000 TheSHEEEP Inserted link to CMake guide. 110
Sun 22 of Jul, 2012 10:15 GMT-0000 TheSHEEEP 109
Sun 22 of Jul, 2012 10:08 GMT-0000 TheSHEEEP More info 108
Sun 22 of Jul, 2012 10:06 GMT-0000 TheSHEEEP 107
Sun 22 of Jul, 2012 10:05 GMT-0000 TheSHEEEP Added note for building boost with MinGW 106
Sun 22 of Jul, 2012 10:01 GMT-0000 TheSHEEEP 105
Sun 22 of Jul, 2012 10:00 GMT-0000 TheSHEEEP bjam --> b2 104
Sun 22 of Jul, 2012 09:57 GMT-0000 TheSHEEEP Boost manual restructured. 103
Sun 22 of Jul, 2012 09:56 GMT-0000 TheSHEEEP 102
Sun 22 of Jul, 2012 09:55 GMT-0000 TheSHEEEP 101