Home | Introduction | Installation | Quick start | Troubleshooting | Mailing lists | Themes | Script tutorial | Script basics | Script callbacks reference | Script API reference | Script library reference | Technical notes | Known bugs | Frequently Asked Questions | Copying

# Installation

## Download instructions

U61 is freely available on the internet. As it is Free Software, you might also find it on a CD-Rom - provided that someone has taken a time to prepare and burn/press such a CD 8-)

Wether you get U61 from a web or ftp site, from a CVS repository or if you find it on CD-Rom, you should always get it under terms of the GNU General Public License. This is very important.

If you do not have U61 and want to get it, try the following URLs:

- www.ufoot.org/u61
- savannah.gnu.org/projects/u61
- u61.sunsite.dk

You may also get U61 from CVS, using the following commands:

    cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/u61 login
    cvs -z3 -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/u61 co u61

When you are prompted with a password, just press "ENTER".

Today the downloadable packages are pretty. I'm working on packaging U61 in a better way. For instance have a "mini" package that would fit on a floppy and have some "extra" packages with all the themes and other stuff which are nice to have but can be skipped when one just wants to try the game out. But this requires work - and time - to be done the right way.

## Required tools and libraries

### Libraries

These libraries are required only if you want to compile and install U61 from the source. The GNU/Linux and Windows binaries are statically linked against all these libs so that you don't need to install them to run the game.

- zlib 1.1.3 : www.info-zip.org/pub/infozip/zlib/ (a compression library)
- Hermes 1.3.2 : www.clanlib.org/ (provides conversion between various image formats)
- Lua 4.0 : www.lua.org/ (the scripting language used by U61)
- libMikMod 3.1.8 : www.mikmod.org/ (allows the game to play .mod, .s3m, .xm, .it... files)
- ClanLib 0.6.1 : www.clanlib.org/ (a general purpose game Library)`

Note that with the latest releases of U61 you need Lua to be installed, but you do not need Tolua nor clanLua. U61 uses Lua directly and does not use the ClanLib Lua bindings. This was not true for U61-1.0.0 which required Tolua and clanLua.

Since ClanLib is rather modular, you'll need to compile several modules, some of which are optional in ClanLib but mandatory for U61. The required modules are:

- clanCore
- clanSignals
- clanApp
- clanDisplay
- clanSound
- clanMikMod

You might also compile clanLua, but U61 won't use it...

BTW, recent releases of U61 do not use clanNetwork any more. The reason is that U61 used to use clanNetwork1, and clanNetwork1 has some flaws which caused boggus segfaults. It's true that a brand new clanNetwork2 is available, but the API has changed since clanNetwork1 and I preferred switching to the plain standard POSIX/Winsock API than migrating to clanNetwork2. As a result, you might compile clanNetwork if you like, but U61 won't use it.

### Tools

These tools are required if you try to compile U61, if you got a binary distribution, you do not need them.

- C++ compiler : gcc under GNU/Linux, Visual C++ 6.0 under Windows. Other compilers might work as well, but you'll probably need to edit the makefiles.
- Python 1.5.2 : www.python.org/ (needed to build the themes and compile the docs)
- LaTeX : www.latex-project.org/ (optional, needed to compile the docs in PostScript format)
- dvips : www.radicaleye.com/dvips.html (optional, needed to compile the docs in PostScript format)
- PDFLaTeX : www.tug.org/applications/pdftex/ (optional, needed to compile the docs in PDF format).
- makeinfo : www.gnu.org/software/texinfo/texinfo.html (optional, needed to compile the docs in GNU Info format).

## Source install under GNU/Linux

In theory, the best way to install U61 is to install it from the sources. However, on my machine, it can take me up to 3 hours to compile all the required libs and then the game. And keep in mind that I'm quite used to compiling U61 8-) So it might be a wise choice to download the static binary, which is about 1Mb bigger, but will probably save you more than 2 hours, unless you have already a working ClanLib install and a fast CPU.

Here are some reasons you might wish to install U61 from the source:

- You want to use a specific ClanLib target, such as ggi for instance, since the static binary uses the default X11 target.
- You want to install U61 in another location that /usr/local, because you are not root on your machine or just don't like /usr/local.
- You don't have a Pentium or for some strange reason the static binary segfaults on your machine.
- You never install binaries on your computer. Just like me 8-)

The source tarball should be named:

    u61-?.?.?.tar.gz

U61 uses GNU autoconf. The install scripts I've prepared aren't perfect and do not check everything, but most of the problems should be detected. Let's say for instance that you are installing version 0.3.0. Once you got u61-0.3.0.tar.gz, type:

    gunzip u61-0.3.0.tar.gz
    tar xf u61-0.3.0.tar
    cd u61-0.3.0
    ./configure
    make

Now log as root and type:

    make install
    exit
    u61

And if everything is all right, you should see the game running...

## Static binary install under GNU/Linux

Since release 0.4.1, a static binary for GNU/Linux is available. Since the executable is statically linked against ClanLib and every library including the GNU libc, it should run on any GNU/Linux box which has an up to date kernel and X-Server running. In fact, if this binary does not work, installing from the source will probably not help much, but at least it might give you an idea of what's going wrong.

Note that the files are named "...-i386-binary.tar.gz" but there might be some problems running them on a plain 80386 computer. In fact, they are "i386" files as opposed to SPARC or ALPHA files, but they probably require a Pentium to run. If you want to run the game on a true 386, you can still try and compile the source but the game will be very very sloooow.

The static binary archive should be named:

    u61-?.?.?-i386-pc-linux-gnu.tgz

Let's imagine you are installing version 1.0.1. Once you have downloaded the file, log as root and type:

    tar xzfP  u61-1.0.1-i386-pc-linux-gnu.tgz

Now log as a single user under X11 and type "u61" in an X-Term, and the game should run.

Note the "P" option in the tar command line, which tells tar to preserve full path names. This means the files will be installed directly in /usr/local, that's why you need to log as root. More precisely, files are installed in the following directories:

- /usr/local/games : binary files
- /usr/local/bin : links to binary files
- /usr/local/share/games/u61 : theme and script files
- /usr/local/share/man/man6 : documentation as a man page
- /usr/local/share/info : documentation in GNU Info format
- /usr/local/share/doc/u61 : documentation in various formats
- /usr/local/share/pixmaps : icon for Gnome, KDE, WMaker...

## RPM install under GNU/Linux

Since release 1.0.1, I provide RPMs for U61. They should work pretty much like any other RPM but keep in mind that since U61 has a fair number of dependencies, installing the static binary as described above might be even easier than installing all the RPMs for ClanLib, MikMod, Lua,... and all possibly all the other packages required by U61.

Besides, I'm not an RPM expert, and the RPM I build have very basic and crude dependency informations, so they are far from being bug-free.

As a conclusion, use RPMs if you are familiar with them, otherwise, go for the static binary, it's certainly the easiest solution.

## Source install under Windows

If you want to install U61 form the source under Windows, you'll need Microsoft Visual C++ 6 and a fair amount of free time 8-) The MSVC workspace is included in the GNU/Linux source tarball, so this is what you need to do:

- Get the GNU/Linux source tarball, and unzip/untar it.
- Get a working ClanLib developper install. Try to compile the ClanLib examples first.
- Tweak the U61 project file so that it matches your personnal install. You'll probably have to change some include and/or library directories.
- Pray that MSVC does not segfault when compiling 8-)
- Create a directory structure which matches the one I use in the binary releases. The most important point is that u61.exe must be able to find the theme and script files.

If this succeeds, you'll probably end up with exactly the same content as the default binary release, so at this time you might wonder: "why the hell did I spent a whole afternoon doing this?" 8-}

BTW, there's no easy way - at least I do not provide it - to compile the datafiles under Windows. What I personnally do when I release windows binaries is that I import the compiled datafiles from my GNU/Linux environment. As I almost never run Microsoft Windows, and since this poor system does not have a decent batch support, I'm not ready to implement and maintain such a fonctionnality.

## Binary install under Windows

All you have to do is unzip the file in a directory, for instance "C:\Program Files\".

WinZip - or whatever unzipper you use - should create a "U61" subfolder, which contains everything, including the "U61.EXE" file you have to launch to play the game.

This documentation is also available on: www.ufoot.org/u61.