Compilation

From LagoonWiki

Jump to: navigation, search

Contents

System Requirements

This must be done by someone with root or sudo privileges. CS381 students should skip this section unless installing entropy on your own machine.

Package-Based Dependencies

For a completely fresh 64 bit ubuntu Fiesty Fawn machine.

sudo apt-get update
sudo apt-get install build-essential

Install Nvidia drivers via envy

  • google envy nvidia
  • download .deb package
  • run, install nvidia drivers
    • installs
    • changes xorg.conf
    • reboots

Apt-get dependencies

sudo apt-get install libzzip-dev automake1.9 autoconf libtool libboost-python-dev libboost-signals-dev libboost-thread-dev libpcre3-dev libxaw7-dev jam python-yaml subversion

Michael Dahl found it necessary to install these as well, on some very bare-bones Ubuntu installations:

sudo apt-get install libxxf86vm-dev libxrandr-dev libfreetype6-dev libgtk2.0-dev libglu1-mesa-dev

The Galaga tutorial also requires python-wxgtk2.x.

For a Red Hat System

Note: As of February 2008, installation still doesn't work on Red Hat systems.Bdbryant 22:48, 6 February 2008 (PST)

  • add Michael's package list here
  • find out whether nVidia drivers are strictly necessary
  • The BOOST-Python stuff is provided with the BOOST RPM.
  • As of 31-Jan-2008, the RPM installation of OGRE will not work, because Entropy expects to find some of the development files where the installation below puts them.
    • Tentative fix: Don't bother installing the OGRE RPM, and use the instructions below. If you already have the RPM installed for other reasons, leave it there, follow the instructions below, but skip the sudo make install step for OGRE (only).

NVIDIA Cg

Fetch the appropriate version from http://developer.nvidia.com/object/cg_toolkit.html#downloads

  • RPM for Red Hat
  • Tarball for Ubuntu

If tarball, install thus:

cd slash , i.e. top most directory
tar xvzf - it extracts into usr /lib whatver, horrible installation method...you need to be in the root directory when you untar it though

Unpackaged Dependencies

This is stuff that you may have to build rather than installing from a package.

Either install them manually

or use the easy package system - RECOMMENDED

svn checkout svn+ssh://miles@flash.cse.unr.edu/staff/sushil/svnroot/entropy_dependencies
cd entropy_dependencies
sudo sh install_entropy_dependencies.sh
  • This took about an hour and twenty minutes on one of the Game Laboratory machines. – Bdbryant 11:54, 7 February 2008 (PST)

Some of the packages will fail to install their samples, due to stupid cyclical dependencies, but that will not effect entropy.

  • I found that all the sudo make install and sudo jam install commands in the script failed because the sudo password for running the script expired while stuff was compiling. (It's easy to fix by just issuing them manually at the end of the build.) – Bdbryant 00:49, 31 January 2008 (PST)

Entropy

Getting the Source

For Developers

svn checkout svn+ssh://miles@flash.cse.unr.edu/grads/miles/svnroot/entropy

For CS381

I made a more stable branch for CS381

svn checkout svn+ssh://pine.cse.unr.edu/grads/miles/svnroot/entropy_gdp08s entropy

That will checkout the branch into a sudirectory named entropy. This should help keep things well organized. We should seriously consider creating separate branches for each student / team so everyone can keep stuff checked in and managed without any conflicts or anything. I will definitely need more harddrive space for that though.

Compiling

As of 31-Jan-2008, this procedure assumes that you have checked out entropy and entropy_dependences under a common parent directory. (The entropy build expects to find some some header files under ../entropy_dependencies/ogrenew/.)

Add this to your .bashrc, so that it knows to link against /usr/lib and /usr/local/lib:

export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH

Now do:

cd entropy
make