NS-2 (Network Simulator) est un environnement de simulation réseau très réputé et très utilisé dans le monde de la recherche. Ici j'explique en quelques mots comment recompiler et mettre en place NS-2 sur un ordinateur Mac-Intel tournant sous Mac OS X. J'explique comment recompiler la dernière version de NS-2.
Une version de NS-2 est disponible dans les dépôts de MacPort (anciennement appelé DarwinPort), cependant c'est une ancienne version est la compilation n'est pas spécialement évidente. En effet, moi j'ai eu des erreurs de compilation et je n'ai pas pu l'installer via cette méthode ci.
Cependant, si vous ne souhaitez pas nécessairement utiliser la dernière version en date de NS-2 il existe une version pré-compilée de NS-2 disponible sur le wiki officiel (Version dmg disponible ici).
Prérequis
Vous devez installer les outils de développement de Xcode avec le SDK de X11 (xcode developpement tools) sinon vous risquez d'avoir des erreurs avec libX11.
Ayez aussi une certaine aisance avec l'utilisation du terminal sous Mac OS X
Téléchargement des sources
Sur le site officiel vous avez une liste des différentes version des dépendances de NS2 ainsi que des sources de NS2: http://www.isi.edu/nsnam/ns/ns-build.html
Pour faire simple, nous n'allons ici pas faire une installation dépendance par dépendance, mais nous utiliserons le paquet d'installation all-in-one qui marche très bien (même mieux) pour une installation sur Mac Os X
Téléchargez donc la dernière version de ce paquet disponible ici
Le fichier fait aux alentours de 65 Mo (dans la version dans laquelle je l'ai téléchargée)
Compilation et installation
Pour commencer, décompressez le fichier que vous venez de télécharger dans le répertoire dans lequel vous allez l'installer (ça vous évitera de devoir déplacer le répertoire plus tard). Donc dans le terminal, faites :
[bash] cd repertoire_de_telechargement sudo tar xvfz ns-allinone-version.tar.gz /usr/local/ns
Une fois que tout est décompressé à cet endroit, allez-y et lancez la compilation :
[bash] cd /usr/local/ns sudo ./install
(Si vous ne voulez pas que la compilation utilise toutes les ressources de votre ordinateur, vous pouvez faire tourner la compilation dans "nice")
Si tout s'est bien passé, voici ce qui doit s'afficher à votre écran :
Please put /usr/local/ns/bin:/usr/local/ns/tcl8.4.14/unix:/usr/local/ns/tk8.4.14/unix into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph. IMPORTANT NOTICES: (1) You MUST put /usr/local/ns/otcl-1.13, /usr/local/ns/lib, into your LD_LIBRARY_PATH environment variable. If it complains about X libraries, add path to your X libraries into LD_LIBRARY_PATH. If you are using csh, you can set it like: setenv LD_LIBRARY_PATH <paths> If you are using sh, you can set it like: export LD_LIBRARY_PATH=<paths> (2) You MUST put /usr/local/ns/tcl8.4.14/library into your TCL_LIBRARY environmental variable. Otherwise ns/nam will complain during startup. After these steps, you can now run the ns validation suite with cd ns-2.31; ./validate For trouble shooting, please first read ns problems page http://www.isi.edu/nsnam/ns/ns-problems.html. Also search the ns mailing list archive for related posts.
Comme vous voyez, l'installation n'est pas terminée. Les programmes sont compilés et marchent, mais ne sont pas encore utilisable car vous devez configurer votre environnement de travail. Pour ça, ouvrez un nouveau terminal et faites vim .bash_profile
de manière à ajouter les lignes suivantes au fichier :
[bash] # Ajoute pour le simulateur NS2 export PATH=$PATH:/usr/local/ns/bin:/usr/local/ns/tcl8.4.14/unix:/usr/local/ns/tk8.4.14/unix export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ns/otcl-1.13:/usr/local/ns/lib export TCL_LIBRARY=$TCL_LIBRARY:/usr/local/ns/tcl8.4.14/library
Faites de même pour votre fichier de configuration .bashrc
qui doit aussi être modifié en conséquence. Ca dépend du terminal que vous utilisez d'habitude.
Validation et test
C'est fait? Nous pouvons maintenant vérifier si l'installation s'est bien passée. Fermez votre terminal, ouvrez en un nouveau (afin que les variables d'environnement soient prises en compte) et aller dans le répertoire de ns pour effectuer la validation :
[bash] cd /usr/local/ns/ns-2.31 sudo ./validate
Il faut modifier le nom du répertoire en fonction du numéro de la version que vous avez évidement.
(A nouveau, vous pouvez utiliser "nice" ... cette étape ci peut prendre beaucoup de temps, et si vous voulez avoir accès aux performances de votre ordinateur pendant ce temps ça peut être intéressant).
La validation s'est terminée correctement? Bravo, système de simulation NS-2 est bien installé sur votre ordinateur.
Enjoy !