Environnement de compilation de ROK4 et BE4

Remarque : La compilation du projet n’a pour le moment été validée que sous GNU/Linux. Le projet utilise des pthreads (threads POSIX). L’installation telle quelle du code n’est actuellement pas possible sur Mac OS.

Le descriptif d’installation ci-dessous traite de la compilation et de l’installation de ROK4 et BE4 sur une distribution Ubuntu. Pour les autres distributions seules changent les commandes d’installation de bibliothèques et dépendances tierces.

Il est à noter qu’il est possible d’installer ROK4 sans BE4 pour l’utilisation seule du serveur de diffusion ROK4.

Installation d’un compilateur C++

Si votre distribution ne possède pas encore de compilateur C++ installer le compilateur C++ et Make de la manière suivante :

sudo apt-get install build-essential

Installation des bibliothèques pour la compilation

Installation de la librairie getText nécessaire à la gestion de l’internationalisation

sudo apt-get install gettext

Installation de Nasm nécessaire pour la gestion du code assembleur de la librairie jpeg-turbo

sudo apt-get install nasm

Installation des AutoTools pour la librairie jpeg-turbo

sudo apt-get install automake

Installation des bibliothèques spécifiques à BE4

Perl devrait être installé par défaut sur votre distribution. Si ce n’était pas le cas installer Perl :

sudo apt-get install perl

Puis installer les bibliothèques suivantes :

sudo apt-get install libxml2-dev
sudo apt-get install libgdal-perl

Installer ensuite les librairies Perl suivantes :

sudo cpan

cpan prompt > install Log::Log4perl
cpan prompt > install Config::IniFiles
cpan prompt > install File::Spec::Linkexit
cpan prompt > install XML::Simple

Ou, avec apt-get install :

sudo apt-get install liblog-log4perl-perl libconfig-inifiles-perl libxml-libxml-simple-perl libfile-copy-link-perl

Installation des bibliothèques pour la génération de la documentation

La documentation du code est générée par défaut durant le build à condition d’avoir préalablement installé les bibliothèques suivantes :

Pour le C++

Installation de Doxygen

sudo apt-get install doxygen

Installation de GraphViz

sudo apt-get install graphviz

Pour le Perl

Installation de NaturalDocs

sudo apt-get install naturaldocs

Installation de CMake

La compilation de ROK4 nécessite CMake de version supérieure ou égale à 2.6.

Vérification de la version de CMake :

apt-cache policy cmake

Installation de CMake :

sudo apt-get install cmake

 

Compilation de ROK4 et BE4

Dans le dossier contenant les sources du projet ROK4 lancer les lignes de commandes suivantes :

mkdir build
cd build
cmake ..  [-DOPTION1 -DOPTION2 ...]
make
make doc (optionnel)
make [install | package]

Les options de CMake pour les projets ROK4 et BE4 sont les suivantes :

CMAKE_INSTALL_PREFIX :
chemins d’installation du projet (PATH)
par défaut : /usr/local

DEP_PATH :
chemins des dépendances ROK4 déjà compilé et installé (PATH)
par défaut : ./target

BUILD_DEPENDENCIES :
compilation des dépendances de ROK4 manquante (BOOL)
les dépendances seront installées avec rok4
par défaut : TRUE

BUILD_ROK4 :
compilation du sous-système ROK4Server (BOOL)
par défaut : TRUE

BUILD_BE4 :
compilation du sous-système BE4 (BOOL)
par défaut : TRUE

BUILD_DOC :
compilation des documentations avec doxygen (BOOL)
Création de la cible “doc” à compiler avant l’utilisation de make install et/ou make package
make doc
par défaut : TRUE

UNITTEST : compilation des tests unitaires (BOOL)
Création de la cible “test”
make test
par défaut : FALSE

DEBUG_BUILD : compilation en mode debug (BOOL)
par défaut : FALSE

RPM_PACKAGE : (EXPERIMENTAL)
Création d’un paquet RPM à la place d’un tar.gz
make all doc package
par défaut : FALSE

DEB_PACKAGE : (EXPERIMENTAL)
Création d’un paquet pour debian à la place d’un tar.gz
dépend des bibliothèques systèmes
make all doc package
par défaut : FALSE

USE_SYSTEM_LIB : (EXPERIMENTAL)
force la compilation à utiliser les bibliothèques du système
par défaut : FALSE

Ci-dessous un exemple de ligne de commande CMake pour installation de ROK4 et BE4 dans le répertoire /opt/rok4

cmake .. -DCMAKE_INSTALL_PREFIX=/opt/rok4

Une fois la compilation réussie un exécutable rok4 est disponible dans le répertoire bin/ du répertoire cible (/opt/rok4 en cas de make install)

Tentative de lancement de ROK4

/opt/rok4/bin/rok4

Résultat

Lancement du serveur ROK4[8472]
Chargement des paramètres techniques depuis ../config/server.conf
Ne peut pas charger le fichier ../config/server.conf
ERREUR FATALE : Impossible d'interpréter le fichier de configuration du serveur ../config/server.conf
Nous étudions dans la partie suivante comment configurer ROK4.

 

Compilation de ROK4 seul

 

Il est également possible d’installer uniquement ROK4 en utilisant l’option  -DBUILD_BE4=FALSE

mkdir build
cd build
cmake .. -DBUILD_BE4=FALSE [-DOPTION1 -DOPTION2  ...]
make
make doc (optionnel)
make [install | package]
Nous étudions dans la partie suivante comment configurer ROK4.