janisl / jlquake

A Quake, Hexen 2, Quake 3, Quake 3 Arena, Return To Castle Wolfenstein and Wolfenstein - Enemy Territory port.
19 stars 1 forks source link

Guide for jlquake on Ubuntu 12.04 #3

Closed audiophyl closed 12 years ago

audiophyl commented 12 years ago

Obtaining the Source

If you have yet to download the source (or, you've downloaded the zip), first install git:

sudo apt-get install git

Now download the source:

git clone https://github.com/janisl/jlquake.git

This will download the entirety of the jlquake source code to a directory titled 'jlquake'. From this point on, you can update to the newest version by issuing the command git pull from within the 'jlquake' directory.

Meeting the Build Requirements

In order to build, you will need cmake, build-essential, and the development libraries for zlib, xorg, libjpeg, libasound, and libcurl. The following command should cover everything:

sudo apt-get install cmake build-essential zlib1g-dev xorg-dev libjpeg-dev libasound2-dev libcurl4-gnutls-dev

You will also need valid GL development libraries. This will depend greatly upon your GLX driver. Here is an incomplete picture:

nvidia-173 -> nvidia-173-dev nvidia-current -> nvidia-current-dev mesa -> mesa-common-dev

The rest of this guide assumes nvidia-current, so please provide feedback if you are using ATI, mesa, or something else.

In the case of nvidia-current, it is necessary to install nvidia-current-dev:

sudo apt-get install nvidia-current-dev

It is also important to link /usr/include/GL/ to the newly installed /usr/lib/nvidia-current/GL/. If /usr/include/GL/ already exists, verify that it's pointing to the correct location OR verify that it is empty and remove it (sudo rm -rf /usr/include/GL/). If it isn't empty, consider making a backup before continuing (sudo mv /usr/include/GL/ /usr/include/GL.bak/). Now we're ready to link to the proper GL includes:

sudo ln -s /usr/include/nvidia-current/GL/ /usr/include

In the same vein, /usr/lib/libGL.so must exist (on a clean install of Ubuntu 12.04 using nvidia-current, it does not) and point somewhere sensible. In the case of nvidia-current, that would be /usr/lib/nvidia-current/libGL.so. Once again, we accomplish this by creating a link:

sudo ln -s /usr/lib/nvidia-current/libGL.so /usr/lib/libGL.so

Building jlquake

Navigate to the jlquake directory which you've pulled from git and make a subdirectory within it for your build:

cd /wherever/you/pulled/jlquake mkdir build

Change to your new 'build' directory and begin the build process:

cd build cmake ../ make

When (if?) the build process is complete, the binaries for individual jlquake releases (jlquake, jlquake2, jlquake3, etc.) will be within their respective 'source/' directories within your 'build' directory.

Installing

Upon first (Successful? See 'Closing Remarks') run of any title, a corresponding directory will exist in your home folder. In the case of Quake 2, that directory is '~/.jlquake2'; in the case of RTCW, that directory is '~/.jlwolf'. Given the search paths for game data, it is by far simplest to install the game data within these folders:

Quake 2 -> ~/.jlquake2/baseq2 RTCW -> ~/.jlwolf/main

janisl commented 12 years ago

Added to wiki here:

https://github.com/janisl/jlquake/wiki/Ubuntu-build-guide

audiophyl commented 12 years ago

Thanks, was unable to access the wiki prior.