U61 (v1.1.0) - 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:

  * http://www.ufoot.org/u61

  * http://savannah.gnu.org/projects/u61

  * http://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 : http://www.info-zip.org/pub/infozip/zlib/ (a compression
      library)

    * Hermes 1.3.2 : http://www.clanlib.org/ (provides conversion between
      various image formats)

    * Lua 4.0 : http://www.lua.org/ (the scripting language used by U61)

    * libMikMod 3.1.8 : http://www.mikmod.org/ (allows the game to play .mod,
      .s3m, .xm, .it... files)

    * ClanLib 0.6.1 : http://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 : http://www.python.org/ (needed to build the themes and
      compile the docs)

    * LaTeX : http://www.latex-project.org/ (optional, needed to compile the
      docs in PostScript format)

    * dvips : http://www.radicaleye.com/dvips.html (optional, needed to compile
      the docs in PostScript format)

    * PDFLaTeX : http://www.tug.org/applications/pdftex/ (optional, needed to
      compile the docs in PDF format).

    * makeinfo : http://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.

