Compiling on Linux

Primary tabs

Before the game may be compiled on Linux, several dependencies are required. Below is a list of the dependencies required.

Software:

  • clang OR gcc - Required. Clang is preferred, and gives better error messages.
  • ccache - Optional. Speeds up repeated compilations, but may introduce rare compilation errors.
  • w64-mingw - Optional. Allows you to cross compile from linux to windows
  • protoc-c - Optional. Allows you to compile changes to protobuffer files
  • wclang - Optional. Allows you to use clang to cross compile to windows.
  • osxcross - Optional. Allows you to cross compile from linux to mac OSX

Libraries:

  • glew-utils
  • libGLU
  • libglew1.6-dev
  • libftgl2
  • ftgl-dev
  • libftgl-dev
  • libalure1
  • libalure-dev
  • libuv1-dev
  • libopenal-dev
  • libglfw3-dev
  • libglfw3
  • zlib
  • libpng-dev

These may be installed via your package manager.

  • Debian based distribution:

sudo apt-get install clang glew-utils libglew1.6-dev libftgl2 ftgl-dev libftgl-dev libalure1 libalure-dev libuv1-dev libopenal-dev zlib1g zlib1g-dev libglfw3-dev libpng-dev libxi-dev libxrandr-dev

  • Fedora or similar:

yum clang glew-utils libglew1.6-dev libftgl2 ftgl-dev libftgl-dev libalure1 libalure-dev ?uv? libopenal-dev zlib zlib-dev

  • Arch Linux:

pacman -S clang glfw glew mesa ftgl freetype2 alure libuv openal protobuf-c zlib

A graphical package manager like Synaptic may be easier to find and install these dependencies.

ScrumbleMake:

The community has developed an experimental flavor of Debian called [[nid:1736|ScrumbleMake]]. It is designed to fit on a flash drive and it can compile ScrumbleShip right out of the box. For more information, see this forum post.

To compile:

Simply run make lin in the main directory (ie. the one with the "Makefile").

Now you shall see an executable in "bin/". Copy or move this binary to the root folder of the game itself answering yes to any prompt to replace the existing file.
Remember you may need to chmod +x the binary before it runs.

Cross Compiling a Windows Binary:

For those that are interested in compiling a win32 binary from linux, the following packages are needed. After these packages have been
installed you should be able to successfully run 'make win' without any errors.

binutils-mingw-w64
binutils-mingw-w64-i686
binutils-mingw-w64-x86-64
binutils-multiarch
gcc-mingw-w64
gcc-mingw-w64-base
gcc-mingw-w64-i686
gcc-mingw-w64-x86-64
gcc-mingw32
gcc-multilib
gdb-mingw-w64
gdb-mingw-w64-target

  • Debian based distribution:


sudo apt-get install binutils-mingw-w64 binutils-mingw-w64-i686 binutils-multiarch gcc-mingw-w64 gcc-mingw-w64-base gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 gcc-mingw32 gcc-multilib gdb-mingw-w64 gdb-mingw-w64-target

Lastly, if you need any extra help, stop by the Scrumbleship IRC Channel for assistance.

[[nid:27|Back to Main Wiki Page]]