Compilation de MicMac sur ARM (RaspBerryPi)

De MicMac
Aller à : navigation, rechercher

Cette page est exclusivement consacrée à la compilation du logiciel de l'IGN MicMac sur des processeurs ARM tels que les RaspBerryPi. Cette page présente ainsi les différentes étapes de compilation.

Les librairies

Dans un premier temps, nous allons installer toutes les librairies indispensables à l'installation. Pour cela, il suffit d'écrire les différentes commandes qui suivent dans un terminal :

 sudo apt-get update 

L'option update met à jour la liste des fichiers disponibles de configuration /etc/apt/sources.list. L'exécuter régulièrement est une bonne pratique, afin de maintenir à jour votre liste de paquets disponibles.

NB : la commande apt-get est un outil logiciel à utiliser en ligne de commande. Il permet d'effectuer l'installation et la désinstallation de paquets.

 sudo apt-get upgrade 

L'option upgrade met à jour tous les paquets installés sur le système vers les dernières versions (couramment utilisé).

 sudo apt-get install x11proto-core-dev make cmake libx11-dev git-all subversion imagemagick gcc g++ exiv2 libimage-exiftool-perl libgeo-proj4-perl mesa-common-dev libgl1-mesa-dev libglapi-mesa libglu1-mesa qt5-default 

Remarque : l'installation de Git vient remplacer celle de Mercurial. En effet, Git est de loin le plus rapide des systèmes de gestion de versions existants et les dépôts Git sont particulièrement compacts. Il se distingue notamment par sa rapidité et sa gestion des branches qui permettent de développer en parallèle de nouvelles fonctionnalités.

 sudo apt-get install x11proto-resource-dev cmake-curses-gui extra-cmake-modules libx11-6-dbg hgsubversion libimage-magick-perl 


Téléchargement de MicMac

Pour télécharger MicMac correctement, rendez-vous dans le répertoire d'installation, où vous souhaitez installer MicMac puis lancez le. Pour cela :

 hg clone https://geoportail.forge.ign.fr/hg/culture3d 

Rentrez le login et le mot de passe suivants :

 login: culture3d 
 pswd: culture3d 

Ne vous inquiétez pas, le téléchargement peut prendre plusieurs minutes !

Logiciel de compilation

À partir du répertoire d'installation, accédez au répertoire 'culture3d':

 cd culture3d 

Ensuite, vous devez créer un répertoire de construction et y aller:

mkdir build
cd build

Remarque : vous devez mettre toutes les options de cmake en OFF, seule l'option HEADER_PRECOMP reste sur ON, puis configurez (c) et générez (g).


Ensuite, vous devez générer le makefile avec les bonnes options. Pour générer le makefile défaut, exécutez ce qui suit :

 cmake ../ 

Remarque : A partir de là, entrez dans culture3d/CodeExterne/siftpp/ afin de modifier le fichier makefile et d'y ajouter la ligne Linux_armv71_ARCH  : =glx. De la même manière, vous allez modifier le fichier sift_driver.cpp et ajouter la ligne include<cstdint>. En effet, le fichier Makefile tente de configurer automatiquement quelques paramètres. Si cela échoue, il renvoie une erreur. Ainsi, les commandes précédentes permettront au programme d'être exécuté en modifiant le Makefile.

Maintenant, nous pouvons enfin construire les sources en lançant les dernières commandes suivantes :

 sudo make -j$NBRP 
où NBRP correspond au nombre de processeurs sur votre ARM (si vous n'êtes pas sûr de combien de cœurs vous avez, il suffit d'écrire un grand nombre et tous les noyaux seront utilisés) :
 NBRP=$(cat /proc/cpuinfo | grep processor | wc -l)

Pour le lancement de la compilation, il ne vous reste plus qu'à écrire une dernière commande :

 sudo make install 

Ajouter MicMac au chemin

Nous devons maintenant éditer le fichier contenant le chemin environnement qui se trouve dans /etc/culture3d/bin. Ouvrez un terminal et tapez:

  ~/.bashrc 

Remarque : les fichiers dans "/ etc /" doivent être ouverts en tant qu'administrateur uniquement. Pour cela, ajoutez les lignes suivantes au bas du fichier:

  export PATH=$PATH:~/culture3d/bin 

MicMac devrait maintenant être installé dans votre dépôt personnel.


Pour vérifier si MicMac est bien installé sur votre ARM, vous pouvez taper dans un terminal:

 mm3d