Skip to content

Compiling and installing Tinia on Red Hat Enterprise Linux 6

havahol edited this page Nov 14, 2014 · 5 revisions

This document describes how to set up Tinia on a standard RHEL 6 installation. The walkthrough requires access to the yum install command.

Install packages from Yum

First we need to install some packages provided by yum, namely the group package "Development Tools" and the packages

  • qt-devel
  • git
  • cmake
  • libXmu-devel
  • libXi-devel
  • freeglut-devel
  • boost-devel
  • libxml2-devel
  • apr-devel
  • httpd-devel

To install these packages, issue the following two commands:

yum groupinstall "Development Tools"
yum install qt-devel git cmake libXmu-devel libXi-devel freeglut-devel boost-devel libxml2-devel apr-devel httpd-devel

Installing and compiling GLEW

You need to manually install and compile GLEW (The OpenGL Extension Wrangler Library). You can download the newest version (1.10.0) of GLEW here. The following commands compiles and install GLEW to a folder of your choosing (e.g. /home/<username>/local):

tar xvf <path to downloaded glew-1.10.0.tgz>
GLEW_DEST=<install path for GLEW> make install

Installing GLM

You need to manually install GLM (OpenGL Mathematics). You can download GLM directly here. GLM is a headers only library, so no compiling is needed. To install simply issue

unzip <path to downloaded glm-0.9.4.6.zip>
cp -r glm/glm <install path for GLEW>/include/

Downloading and compiling Tinia

You can get Tinia directly from http://github.com/sintefmath/tinia or you can clone the repository yourself using git: git clone http://github.com/sintefmath/tinia.git

To compile Tinia, you should first make a separate build catalog, then issue cmake from that catalog, like this (<install path for tinia> and <install path for GLEW> can be the same):

cd tinia
mkdir build
cmake .. -DCMAKE_PREFIX_PATH=<install path for GLEW> -DCMAKE_INSTALL_PREFIX=<install path for tinia>
make -j9 install

To test if the installation was successful, you can run the command

<install path for tinia>/bin/simple_qt_job

(Note that you need to have <install path for tinia>/lib (as well as the library directory for glew, which should be <install path for glew>/lib64 in LD_LIBRARY_PATH so you might need to start it with

LD_LIBRARY_PATH="<install path for tinia>/lib:<install path for glew>/lib64" <install path for tinia>/bin/simple_qt_job

Setting up Apache HTTPD

Making a local setup if you lack root access

If you lack root access, you need to make a local httpd-configuration file with write permissions for your desired user. First you must copy over the httpd folder to a local folder:

cp -r /etc/httpd ./

Then we need to fix some symlinks:

rm httpd/logs httpd/modules httpd/run

then create them again (some just as empty folders):

mkdir httpd/logs httpd/run
ln -s /etc/modules httpd/modules

You then need to edit the httpd/conf/httpd.conf to match your new location. You want to change the ServerRoot property to the location of your new httpd folder. You will also need to change the listen port to 8080, so set Listen to 8080:

ServerRoot <some dir>/httpd
Listen 8080

Configuring mod_trell

In the httpd.conf file we also need to configure mod_trell. At the bottom of httpd.conf insert

LoadModule trell_module <install path for Tinia>/var/trell/module/libmod_tinia_trell.so
TrellMasterId "trell_master"
TrellMasterExe "<install path for Tinia>/var/trell/bin/tinia_trell_master"
TrellAppRoot "<install path for Tinia>/var/trell/apps"
TrellSchemaRoot "<install path for Tinia>/var/trell/schemas"
TrellJobWWWRoot "<install path for Tinia>/var/trell/js"

LogLevel notice

<Location /trell/mod>
  SetHandler trell
</Location>
<Location /trell/master>
  SetHandler trell
</Location>
<Location /trell/job>
  SetHandler trell
</Location>

Alias /trell/static <install path for Tinia>/var/trell/static
<Directory "<install path for Tinia>/var/trell/static">
   Options -Indexes
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

To start the server, issue the command:

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<install path for Tinia>/lib:<install path for GLEW>/lib64 httpd -d <path to new httpd folder>

If this worked, you should be able to point your browser to localhost:8080/trell/static.