Difference between revisions of "Compile"

From FreeOrionWiki
Jump to: navigation, search
(Tarballs)
(Tarballs)
Line 45: Line 45:
  
  
===Tarballs===
+
===Git Tarballs===
  
 
Release builds are [https://github.com/freeorion/freeorion/releases tagged in the freeorion/freeorion GitHub repository]. Zipped downloads of the repository are available there.
 
Release builds are [https://github.com/freeorion/freeorion/releases tagged in the freeorion/freeorion GitHub repository]. Zipped downloads of the repository are available there.
 +
 +
===Subversion Tarballs (old)===
  
 
The SourceForge Subversion web-client allows one to download pre-March-2015 numbered versions of the source code as a tarball:
 
The SourceForge Subversion web-client allows one to download pre-March-2015 numbered versions of the source code as a tarball:
  
==== FreeOrion v0.4.4 ====
+
===== FreeOrion v0.4.4 =====
  
 
* [http://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.4/ FreeOrion v0.4.4] is FreeOrion SVN revision 7708: '''https://sourceforge.net/p/freeorion/code/7708/tree/tags/RELEASE_V_0_4_4/'''
 
* [http://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.4/ FreeOrion v0.4.4] is FreeOrion SVN revision 7708: '''https://sourceforge.net/p/freeorion/code/7708/tree/tags/RELEASE_V_0_4_4/'''
  
==== FreeOrion v0.4.3 ====
+
===== FreeOrion v0.4.3 =====
  
 
* [http://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.3/ FreeOrion v0.4.3] is FreeOrion SVN revision 6281: '''http://sourceforge.net/p/freeorion/code/6281/tree/trunk/'''
 
* [http://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.3/ FreeOrion v0.4.3] is FreeOrion SVN revision 6281: '''http://sourceforge.net/p/freeorion/code/6281/tree/trunk/'''
  
==== FreeOrion v0.4.2 ====
+
===== FreeOrion v0.4.2 =====
  
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.2/ FreeOrion v0.4.2] is FreeOrion SVN revision 5771: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=5771'''.
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.2/ FreeOrion v0.4.2] is FreeOrion SVN revision 5771: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=5771'''.
  
==== FreeOrion v0.4.1 ====
+
===== FreeOrion v0.4.1 =====
  
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.1/ FreeOrion v0.4.1] is FreeOrion SVN revision 5096: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=5096''' with GiGi SVN revision 1074: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1074'''
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4.1/ FreeOrion v0.4.1] is FreeOrion SVN revision 5096: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=5096''' with GiGi SVN revision 1074: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1074'''
  
==== FreeOrion v0.4 ====
+
===== FreeOrion v0.4 =====
  
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4/ FreeOrion v0.4] is FreeOrion SVN revision 4635: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4635''' with GiGi SVN revision 1074: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1074'''
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.4/ FreeOrion v0.4] is FreeOrion SVN revision 4635: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4635''' with GiGi SVN revision 1074: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1074'''
  
==== FreeOrion v0.3.17 ====
+
===== FreeOrion v0.3.17 =====
  
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.17/ FreeOrion v0.3.17] is FreeOrion SVN revision 4282: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4282''' with GiGi SVN revision 1044: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1044'''
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.17/ FreeOrion v0.3.17] is FreeOrion SVN revision 4282: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4282''' with GiGi SVN revision 1044: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1044'''
  
==== FreeOrion v0.3.16 ====
+
===== FreeOrion v0.3.16 =====
  
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.16/ FreeOrion v0.3.16] is FreeOrion SVN revision 4046: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4046''' with GiGi SVN revision 1043: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1043'''
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.16/ FreeOrion v0.3.16] is FreeOrion SVN revision 4046: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=4046''' with GiGi SVN revision 1043: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=1043'''
  
==== FreeOrion v0.3.15 ====
+
===== FreeOrion v0.3.15 =====
  
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.15/ FreeOrion v0.3.15] is FreeOrion SVN revision 3727: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3727''' with GiGi SVN revision 813: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=813'''
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.15/ FreeOrion v0.3.15] is FreeOrion SVN revision 3727: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3727''' with GiGi SVN revision 813: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=813'''
  
==== FreeOrion v0.3.14 ====
+
===== FreeOrion v0.3.14 =====
  
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.14/ FreeOrion v0.3.14] is FreeOrion SVN revision 3571: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3571''' with GiGi SVN revision 812: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=812'''
 
* [https://sourceforge.net/projects/freeorion/files/FreeOrion/FreeOrion%20Version%200.3.14/ FreeOrion v0.3.14] is FreeOrion SVN revision 3571: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3571''' with GiGi SVN revision 812: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=812'''
  
==== FreeOrion v0.3.13 ====
+
===== FreeOrion v0.3.13 =====
  
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=685272 FreeOrion v0.3.13]
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=685272 FreeOrion v0.3.13]
Line 94: Line 96:
 
** '''On Mac OSX''' is FreeOrion SVN revision 3094: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3094''' with GiGi SVN revision 757: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=757'''
 
** '''On Mac OSX''' is FreeOrion SVN revision 3094: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=3094''' with GiGi SVN revision 757: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/?pathrev=757'''
  
==== FreeOrion v0.3.12.1 '''for Linux''' ====
+
===== FreeOrion v0.3.12.1 '''for Linux''' =====
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=660507 FreeOrion v0.3.12.1 '''for Linux'''] is SVN revision 2918: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=2918''' with GiGi revision 711: '''http://gigi.svn.sourceforge.net/viewvc/gigi/?pathrev=711'''
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=660507 FreeOrion v0.3.12.1 '''for Linux'''] is SVN revision 2918: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=2918''' with GiGi revision 711: '''http://gigi.svn.sourceforge.net/viewvc/gigi/?pathrev=711'''
  
==== FreeOrion v0.3.12 '''for Windows''' ====
+
===== FreeOrion v0.3.12 '''for Windows''' =====
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=660507 FreeOrion v0.3.12 '''for Windows'''] is SVN revision 2807: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=2807''' with GiGi revision 710: '''http://gigi.svn.sourceforge.net/viewvc/gigi/?pathrev=710'''
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=660507 FreeOrion v0.3.12 '''for Windows'''] is SVN revision 2807: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/?pathrev=2807''' with GiGi revision 710: '''http://gigi.svn.sourceforge.net/viewvc/gigi/?pathrev=710'''
  
==== FreeOrion v0.3.11 ====
+
===== FreeOrion v0.3.11 =====
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=652545 FreeOrion v0.3.11]
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=652545 FreeOrion v0.3.11]
 
** '''On Windows''' is SVN revision 2729 '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2729''' with GiGi revision 695: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=695'''
 
** '''On Windows''' is SVN revision 2729 '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2729''' with GiGi revision 695: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=695'''
 
** '''On Linux''' is SVN revision 2732 '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2732''' with GiGi revision 695: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=695'''
 
** '''On Linux''' is SVN revision 2732 '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2732''' with GiGi revision 695: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=695'''
  
==== FreeOrion v0.3.10 ====
+
===== FreeOrion v0.3.10 =====
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=609273 FreeOrion v0.3.10] is SVN revision 2607: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2607''' with GiGi revision 651: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=651'''
 
* [https://sourceforge.net/project/showfiles.php?group_id=75752&package_id=111134&release_id=609273 FreeOrion v0.3.10] is SVN revision 2607: '''http://freeorion.svn.sourceforge.net/viewvc/freeorion/trunk/FreeOrion/?pathrev=2607''' with GiGi revision 651: '''http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/?pathrev=651'''
  

Revision as of 12:48, 29 March 2015

Currently, FreeOrion will compile in most recent Windows, Linux, and MacOSX. The *BSD genus of operating systems might also work; follow the Linux instructions in this case.

Overview

First of all, you will need to obtain the source. This can be grabbed from our project page or from Subversion (SVN). The versions available on the project page are official releases or point releases, and may be somewhat or very out of date. To help with programming FreeOrion, you will need to grab the SVN copy. Then you need to set up the required software, compile the game, download the missing artwork, and run it.


Hardware requirements

The FreeOrion code makes heavy use of templates, and requires much memory to compile; 4 GB or more RAM is recommended.

On Linux, shutting down your X server and compiling from console may help on systems with little RAM. (If this doesn't mean anything to you, simply ignore this advice.)

You will also need a fast processor. To build GG and FreeOrion, expect up to 45 minutes of a Core i5 system, or over an hour on a Core2 Duo system; on a Core i7 system it can be under 10 minutes.

Note that, while not required to compile FreeOrion, running the FreeOrion client requires a graphics card and drivers that support OpenGL 2.0.

Software requirements

Note: On Windows and OSX, most dependencies are available pre-compiled in the FreeOrion SDK.

  • GiGi - Including GiGiOgre and the GiGiOgre OIS plugin. The code for these is included in the FreeOrion SVN repository, but they must be built as separate libraries.
  • Boost - version 1.56 or later.
  • FreeType2 - a GiGi dependency. version 2.4.3 is known to work.
  • Python - version 2.7 or later (version 2.x only; 3.x will not work)
  • OpenAL
  • libogg - version 1.1.3 or later 1.2.1 is known to work.
  • libvorbis - version 1.1.2 or later 1.3.2 is known to work.
  • GLEW - (Windows only) version 1.5.7 is known to work.
  • zlib - version 1.2.5 is known to work with libpng 1.4.4
  • libpng - versions 1.2 and 1.4 work

Getting the source

Git

The source code can be obtained from freeorion/freeorion/master repository on GitHub.

SourceForge Subversion

Prior to March 2015, FreeOrion source code was stored and managed on SourceForge Subversion (SVN). This repository is now retired, and future development with occur on GitHub.

FreeOrion SDK

There are Software Development Kits (SDKs) availaboe for Windows and MacOSX which contain precompiled dependencies needed for building FreeOrion from source. You may download and build all of these open-source dependencies yourself if you prefer. Using the SDK is likely faster and easier, however.

The SDKs do not contain the FreeOrion source code, which must be retrieved using git.


Git Tarballs

Release builds are tagged in the freeorion/freeorion GitHub repository. Zipped downloads of the repository are available there.

Subversion Tarballs (old)

The SourceForge Subversion web-client allows one to download pre-March-2015 numbered versions of the source code as a tarball:

FreeOrion v0.4.4
FreeOrion v0.4.3
FreeOrion v0.4.2
FreeOrion v0.4.1
FreeOrion v0.4
FreeOrion v0.3.17
FreeOrion v0.3.16
FreeOrion v0.3.15
FreeOrion v0.3.14
FreeOrion v0.3.13
FreeOrion v0.3.12.1 for Linux
FreeOrion v0.3.12 for Windows
FreeOrion v0.3.11
FreeOrion v0.3.10

Compilation

Compilation instructions and troubleshooting tips are available for the following operating systems: