Difference between revisions of "Running Oolite-Linux"

From Elite Wiki
m (Formatting fixup)
(Added note about the new 'Makefile' and warnings about gnustep-base1.19.3)
Line 10: Line 10:
  
 
Oolite is available in the software repositories for both recent versions of Debian and Ubuntu (7.10, Gutsy Gibbon). Under Ubuntu, just go to Applications -> Add software, and search for Oolite in all packages. The game's icon appears in the Applications -> Games menu.
 
Oolite is available in the software repositories for both recent versions of Debian and Ubuntu (7.10, Gutsy Gibbon). Under Ubuntu, just go to Applications -> Add software, and search for Oolite in all packages. The game's icon appears in the Applications -> Games menu.
 +
 +
==== GNUstep Issues ====
 +
Please note that the latest versions of Debian (squeeze) and Ubuntu (lucid) are shipped with gnustep-base1.19.3.  This version of GNUstep has been identified as faulty and has been known to cause problems with Oolite, including not being able to load your savegame.  For affected versions, it is highly recommended to install the autopackage version of Oolite instead.
  
 
=== Other distributions ===
 
=== Other distributions ===
Line 77: Line 80:
  
 
* A new dependency on the SpiderMonkey JavaScript v1.70 library was introduced on SVN revision 1157. This requires some attention regarding the Linux build process. The full instructions on building the game successfully with JavaScript 1.70 on Debian can be found in the following forum post:<br />http://aegidian.org/bb/viewtopic.php?p=42188&highlight=#42188
 
* A new dependency on the SpiderMonkey JavaScript v1.70 library was introduced on SVN revision 1157. This requires some attention regarding the Linux build process. The full instructions on building the game successfully with JavaScript 1.70 on Debian can be found in the following forum post:<br />http://aegidian.org/bb/viewtopic.php?p=42188&highlight=#42188
 +
 +
* As of 1.73, a new 'Makefile' has been added to the project to simplify building Oolite.  Assuming your system has all required build dependencies installed (as outlined above), you can build debug and optimised copies of Oolite with the following commands.  The included Spidermonkey dependency is automatically built as well.  For a full list of targets, use 'make -f Makefile help'.
 +
** make -f Makefile debug
 +
** make -f Makefile release
 +
 +
=== Notes about GNUstep ===
 +
 +
Several bugs have been found with gnustep-base1.19.3 which affect Oolite to a greater or lesser extent.  As several popular Linux Distributions currently ship with this version of GNUstep, it is highly recommended that you compile and install a known good version of GNUstep for development. gnustep-base1.18 is known to be good.  The current trunk (gnustep-base1.21.1) appears to also be ok.
 +
 +
This [http://aegidian.org/bb/viewtopic.php?t=8008&highlight= forum post] details how to build and install gnustep for developing Oolite.
  
 
[[Category:Oolite]]
 
[[Category:Oolite]]
 
[[Category:Factual]]
 
[[Category:Factual]]

Revision as of 07:52, 7 June 2010

Overview

The Linux port of the game follows the Mac OS X version and is generally released at the same time. Both source and binary downloads are available. There are some minor differences between Oolite for Linux and Oolite on Mac OS X: the Linux version does not support iTunes integration, Growl or speech synthesis, but unlike the OS X version, currently has joystick support.

It is simple to install. Simply download and run the Autopackage, and then you can play the game.

Getting and installing the game

Ubuntu and Debian users

Oolite is available in the software repositories for both recent versions of Debian and Ubuntu (7.10, Gutsy Gibbon). Under Ubuntu, just go to Applications -> Add software, and search for Oolite in all packages. The game's icon appears in the Applications -> Games menu.

GNUstep Issues

Please note that the latest versions of Debian (squeeze) and Ubuntu (lucid) are shipped with gnustep-base1.19.3. This version of GNUstep has been identified as faulty and has been known to cause problems with Oolite, including not being able to load your savegame. For affected versions, it is highly recommended to install the autopackage version of Oolite instead.

Other distributions

The current stable release, 1.65, can be downloaded at Oolite.org. Test releases can be downloaded from the BerliOS project. New releases are announced on the Oolite forum.

If you just want to play the game it is strongly recommended you download the Autopackage - oolite-linux-1.62-4.x86.package. This contains everything needed to play the game on any recent Linux distribution. It has been tested on several distributions, including Gentoo, Fedora Core, CentOS, Debian and Ubuntu.

An autopackage is somewhat similar to the installers you might find on Windows. If you have never installed an autopackage before, once you have downloaded the game, you will need to do the following steps:

  • 1. Navigate to where you downloaded the game with your file manager (by default, Firefox will download things to the desktop).
  • 2. Right click on the file's icon, and select Properties.
  • 3. Select the 'Permissions' tab.
  • 4. Click on the check box 'Owner: Executable' to make it checked, and click Close.
  • 5. Double click the file's icon to run the installer. Follow any instructions.

Once you have installed at least one Autopackage, any further autopackages you download will be recognised by your system so the first four steps will not need to be done again.

Running the game

Important - Fedora Core >=5 users should read Oolite on Fedora Core 5

Once the game is installed, it should appear in your Applications -> Games menu. Just click its icon. Alternatively, typing 'oolite' in a Terminal will start the game.

Installing OXPs (AddOns)

OXPs are expansion packs for Oolite. If you installed the game by entering your root password, and therefore installing the game system-wide, you will need to put OXPs in /usr/lib/Oolite/AddOns. If you installed it in your home directory, you will need to put OXPs in ~/.local/lib/Oolite/AddOns.

Updating the game

The fastest way to update the game when a new version is out is to run 'oolite-update'. Run this as the user that installed the game (so run it as root if you installed the game system-wide). To run it, either use 'Run Command' from GNOME or KDE and enter 'oolite-update', or open a Terminal and run 'oolite-update'.

Notes for AMD64 (x86_64) users

The x86 package will run on new 64-bit machines running 64-bit Linux, however, many distributions do not have all the 32-bit libraries needed to run the program. You can make it run by installing these 32-bit libraries (by hand if necessary). Currently, a native 64-bit build isn't available as a binary download because none of the developers has an amd64 system. If you are capable of building Oolite-Linux from source and have a suitable machine, it would be greatly appreciated if you can volunteer to be the maintainer of the amd64 build.

The bleeding edge

A nightly build is provided via rsync for those who want to live on the bleeding edge - it is built from the latest source in the Subversion source repository for Oolite. To get the nightly build, go to your top level Oolite directory. If you installed the game system wide using the Autopackage, this will be /usr/lib/Oolite. If you installed it as a user, this will be in your home directory - $HOME/.local/lib/Oolite. Then invoke the following command:

rsync -al rsync://rsync.alioth.net/oolite/nightly/Linux-x86/* .

Nightly builds are currently only done for the x86 platform, since the developers currently do not have any amd64 hardware to use for nightly builds. Nightly builds happen every day at 01:00 GMT whenever there is an update to the Subversion repository (and, of course, what's in Subversion must build without errors!)

A nightly build report is available at http://www.alioth.net/oolite/status.html .

Building Oolite-Linux from source

You will need the following components:

  • The GNU Objective-C compiler (gcc-objc). Your distribution should have this available.
  • GNUstep Startup. Your distro may provide the appropriate GNUstep development libraries.
  • SDL development libraries including SDL_mixer and SDL_image. All Linux distros seem to have the main SDL library, but some do not seem to have SDL_image. This can be downloaded from the SDL Library Development website.
  • OpenGL development libraries - your distribution will have these.
  • To build Autopackages, you will also need the Autopackage development kit, which is available at Autopackage.org

The source code for these dependencies is also available at [1]

You may also want the following optional component:

  • espeak, if you want speech (1.73 & later). Your distribution should have this; otherwise, see espeak.sourceforge.net.

It is recommended you use Subversion to download the source tree. If you are porting to another processor architecture to help us provide packages for that architecture, it is recommended you use one of the tagged 'stable' release SVN repositories for your build. If you are porting to a new operating system, it is recommended you get the latest development trunk. Instructions on how to get anonymous SVN releases is at the development website oolite-linux.berlios.de. You can also browse the SVN tree there to see what tags and branches exist. If you do not have the ability to run SVN, you can use the source tarballs. You will need both a -src and -data tarball. Unpack them in the same place.

Once you have a source tree, you can build it by just typing 'make'. To run the newly-built code, then type 'openapp oolite'. If you want to build the Autopackage .package file, type 'makeinstaller'. This will leave a .package file in the build directory. You can then run this file to install the game.

Notes about the build process

  • The makefile is called GNUmakefile rather than 'Makefile'; this seems to be the convention for GNUstep applications. If you are not using GNUmake, then you will probably need to 'make -f GNUmakefile'. However, it is recommended that you install gmake if you are using a platform (BSD) that doesn't include GNU make (it's a dependency for GNUstep anyway). The build process first builds all the Objective-C source (source code files end in '.m' which is the standard file extension for Objective-C) into the executable oolite.app/oolite and then copies the data into oolite.app/Contents.
  • A new dependency on the SpiderMonkey JavaScript v1.70 library was introduced on SVN revision 1157. This requires some attention regarding the Linux build process. The full instructions on building the game successfully with JavaScript 1.70 on Debian can be found in the following forum post:
    http://aegidian.org/bb/viewtopic.php?p=42188&highlight=#42188
  • As of 1.73, a new 'Makefile' has been added to the project to simplify building Oolite. Assuming your system has all required build dependencies installed (as outlined above), you can build debug and optimised copies of Oolite with the following commands. The included Spidermonkey dependency is automatically built as well. For a full list of targets, use 'make -f Makefile help'.
    • make -f Makefile debug
    • make -f Makefile release

Notes about GNUstep

Several bugs have been found with gnustep-base1.19.3 which affect Oolite to a greater or lesser extent. As several popular Linux Distributions currently ship with this version of GNUstep, it is highly recommended that you compile and install a known good version of GNUstep for development. gnustep-base1.18 is known to be good. The current trunk (gnustep-base1.21.1) appears to also be ok.

This forum post details how to build and install gnustep for developing Oolite.