Installer NS-2 sur Mac OS X

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 !

Un commentaire

  1. Salut, tout d’abord merci pour ces explications, je pense que j’ai suivi les instructions à la lettre mais quand j’essai un petit script je reçois le message suivant :
    nam : no display name and no $DISPLAY environment variable
    Vous ne saurez as comment je pourais régler ce problème

    Reply
  2. Oui, je pense connaitre le problème. C’est parce que NS-2 souhaite afficher une fenêtre, or, comme NS2 est basé sur X11 comme les systèmes linux il ne gère pas l’interface graphique de Mac OS X.

    Donc la solution est d’installer X11 sur son mac. Mais ça ne suffit pas, car le logiciel ne sait pas spécialement où se trouve le X11 existant. Il faut donc dire au terminal où se trouve le serveur X11.

    La solution est soit d’utiliser le terminal lancé par X11, soit de lancer X11 d’un coté, puis de tapper dans le terminal la commande :
    export DISPLAY=:0.0

    Attention à bien s’assurer que X11 est lancé ! Sinon ça ne marchera pas !

    Voilà, j’espère que ça règlera ton problème.

    PS : cette commande pour le display peut aussi être rajoutée dans le fichier .bash_profile afin de ne pas devoir être tapée à chaque fois que vous ouvrez un nouveau terminal.

    Reply
  3. Pour ma part, j’ai inséré dans .bash_profile les lignes demandées mais cela ne fonctionne pas dans la console X11. Comme si xterm (de X11) ne lisait pas le fichier de profile ? par contre le programme fonctionne dans le terminal de macosx mais sans interface graphique qui ont besoin de X11 :s

    Y a-t-il un autre fichier profile a modifier pour X11 ???

    Reply
  4. Oui, tu dois lancer X11 bien entendu, puis dans le terminal de mac OS X tu dois avoir initialisé la variable d’environnement DISPLAY (tu peux le faire aussi dans le fichier .bash_profile pour automatiser la manoeuvre) de la manière suivante :
    export DISPLAY=:0.0
    Ca permet de pouvoir avoir accès au serveur X dans le terminal Mac OS X

    Reply
  5. merci mais la manip que tu décrit fonctionne correctement, ce que je voudrais, c’est modifier le « profile » qui est lu par X11 car le .profile que j’ai modifier n’est pas lu par X11 !
    Je voudrais pouvoir travailler uniquement dans la console X11, pour le moment si je tape « ns » dans X11, il trouve pas la commande, normal vu qu’il ne lit pas le « .profile » dans lequel j’ai adapté le PATH

    Reply
  6. pour ma part jai installer la version x11-2.2.3 avec l’installaer de mac os x 10.5 et j’ai aussi installer xcode 3 et lorsque je tente d’installer ns ca me dit que la libraire -lX11 is not found….:

    ld: library not found for -lX11
    collect2: ld returned 1 exit status
    make: *** [wish] Error 1
    tk8.4.18 make failed! Exiting …

    Reply
  7. As-tu installé X11? Sinon effectivement ça ne risque pas de marcher. Pour installer X11 normalement tu peux trouver le paquet d’installation sur le CD d’installation de Mac OSX 10.5.

    Essaye déjà ça.

    Reply

Leave a Comment.