Build From Source

From Resara Server

Revision as of 15:25, 14 February 2011 by 72.15.28.7 (Talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Following are the instructions on how to build the Resara Server project from source. If you're interesting in obtaining the project in prebuilt binary form please check the Quick Start Guide. In addition, as a point of clarification, we refer to the project as "RDS" in code.

This project is currently under heavy active development so we do not recommend building from source unless you Know What You're Doing(tm).

Contents

Ubuntu Super Quick Guide

For the impatient Ubuntu user who doesn't want to read all this stuff, just run this:

# install all the required packages
apt-get insall build-essential libqt4-dev libattr1-dev libldap2-dev libsasl2-dev libparted0-dev cmake libavahi-client-dev libavahi-compat-libdnssd-dev mercurial cmake


# grab the sources, and get into a shadow build directory
hg clone https://bitbucket.org/resara/resara-server
cd resara-server/rds/
mkdir build
cd build


# configure and build!
../configure --debug --prefix /usr/
make
sudo make install

Get The RDS Sources

Resara Server is hosted on BitBucket.org. You can use the web UI on our project's page or simply run the following command to check out a copy of the latest sources:

hg clone https://bitbucket.org/resara/resara-server

From within the source tree the main project is found in rds/rds. This will, eventually, be moved directly into the rds directory as it is an artifact of an older build system.

You may also visit our BitBucket page to view the commit log, report issues, or download any of the official releases. Packages are, however, not hosted on this site.


Selecting A Release Version

If you are to build from source, we generally recommend using a tagged version as the tip of the repository may or may not contain new bugs or broken code. To reiterate, this project is in heavy active development.

We tag all releases in the source code for RDS so that you may easily jump to a specific release and build it from source. Once you have a working directory for RDS checked out you can browse a list of tags using hg tags and jump to a specific tag using hg, for example hg update alpha2 would jump to the revision released as alpha2. Once you've updated to the correct revision, follow the build instructions as per usual.


Requirements

Linux

RDS requires the following to build:

  • Qt4.6 or later
  • Avahi
  • DNSSD compatibility layer for Avahi
  • CMake
  • Mercurial
  • ldap
  • sasl
  • A bunch of other stuff...?

In Ubuntu based systems, you can install the following packages. Other systems can use this list as a reference for deriving what they need:

apt-get insall build-essential libqt4-dev libattr1-dev libldap2-dev libsasl2-dev libparted0-dev cmake libavahi-client-dev libavahi-compat-libdnssd-dev


Windows

Currently RDS only builds in windows using the MSVC++ compiler. This is because of the Bonjour library only working under this compiler and not with mingw*. In addition, only the client binary builds in Windows, as the server is not intended to run in windows.

  • Qt4.6 built with MSVC (This is not the default, you will need to build Qt yourself)
  • Bonjour development files
  • MSVC++ Compiler
  • Mercurial, I recommend TortoiseHg
  • CMake
  • 7zip
  • NSIS

* If you know of a way to get Bonjour working with mingw, please Chris know by emailing him at chris at resara dot com

Building RDS

Linux

You guys have it easy, seriously. The project comes shipped with a configure script which will take care of all the CMake magic for things like alternate installation directories. To view all of the options currently available, from within rds/rds/ run:

./configure --help Before running the actual configure script I recommend setting up a shadow build directory, the easiest way to do this is:

mkdir build

cd build

../configure [any configure options]

CMake will automatically attempt to find all of the requires components to build the software, once completed you should be ready to build. To build the project simple run

make and, optionally, if you wish to install the project onto the local machine run:

sudo make install


Windows

Using QtCreator

QtCreator is a cross platform IDE designed for building Qt4 projects. It can be found here. To build RDS you must configure QtCreator to point at your MSVC++ Qt4 installation as opposed to the mingw one. In addition, you must tell it to use the MSVC++ compiler.

Open the CMakeLists.txt file with QtCreator and follow the prompts to setup the build environment. At this point you should be able to build RDS without any problems.

Hit ctrl+shift+b and the project will be built.


Using Command Line

While a little trickier and annoying due to cmd.exe not being the best CLI interface, I generally prefer using this method of building. First off, you must run the Qt environment batch file, which you will need to modify to work with MSVC++. The file can be found in [Qt Install Path]/bin/qtenv.bat. Here is an example bat file, using C:\Qt\2010.05.MSVC\ as my Qt directory:

rem @echo off
rem
rem This file is generated
rem
echo Setting up a CMake/VC/Qt only environment...
echo -- QTDIR set to C:\Qt\2010.05.MSVC\qt
echo -- PATH set to C:\Qt\2010.05.MSVC\qt\bin
echo -- Adding C:\Qt\2010.05.MSVC\bin to PATH
echo -- Adding %SystemRoot%\System32 to PATH
echo -- QMAKESPEC set to win32-msvc2010
echo -- Executing C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat
echo -- Adding OpenSSL environment
set QTDIR=C:\Qt\2010.05.MSVC\qt
set PATH=C:\Qt\2010.05.MSVC\qt\bin
set PATH=%PATH%;C:\Qt\2010.05.MSVC\bin;
set PATH=%PATH%;%SystemRoot%\System32
set QMAKESPEC=win32-msvc2010
SET LIB=c:\openssl\lib\VC;%LIB%
SET INCLUDE=c:\openssl\include;%INCLUDE%
SET PATH=%PATH%;c:\openssl;
SET PATH=%PATH%;"%PROGRAMFILES%\CMake 2.8\bin";
rem -- The following two lines are not needed for building, but help a lot.
SET PATH=%PATH%;"%PROGRAMFILES%\TortoiseHg";
SET PATH=%PATH%;"%PROGRAMFILES%\7-Zip";
@echo on

call "%PROGRAMFILES%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"

You'll notice I call "%PROGRAMFILES%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" in this file, too. This is very important.


Once these things have been done, cd into your shadow build directory (or directory into rds/rds if you do not wish to shadow build). From here, simply run:

cmake.exe [Path To RDS] ... and CMake should take care of everything, returning errors if any part of it fails. At this point you are ready to build the project.

Building the project is rather simple, all must do is run: jom.exe


If you wish to build the self contained .zip and/or the .exe installer package simply run: nmake installers

Personal tools