Bon maintenant que j'ai fini l'installation de NS2.29 je vous mets les lignes :
Tout d'abord on installe les logiciels complémentaires :
sudo apt-get install build-essential autoconf automake libxmu-dev
On va ensuite dans le répertoire d'installation :
cd /usr/local
On télécharge la version 2.29 complète :
sudo wget http://nchc.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.29.tar.gz
On décompresse le logiciel ns2 :
sudo tar -xzvf ns-allinone-2.29.tar.gz
On entre dans le dossier créé :
cd ns-allinone-2.29
Enfin taper ceci pour procéder à l'installation :
./install
A ce stade la création de tcl me posait un problème que j'ai mis du temps à résoudre, le voici :
checking system version (for dynamic loading)... ./configure: 1: Syntax error: Unterminated quoted string
tcl8.3.2 configuration failed! Exiting ...
Tcl is not part of the ns project. Please see www.Scriptics.com
to see if they have a fix for your platform.
La solution est de modifier toute ces lignes de codes :
system=MP-RAS-`awk ' { print $3 } '/etc/.relid'`
Par celle-ci :
system=MP-RAS-`awk ' { print $3 } '/etc/.relid`
Et ceci dans trois fichiers différents :
- /tcl8.4.11/unix/configure
- /tk8.4.11/unix/configure
- /otcl-1.11/unix/configure
On fait cela ainsi :
sudo gedit tcl8.4.11/unix/configure
sudo autoconf
sudo gedit tk8.4.11/unix/configure
sudo autoconf
sudo gedit otcl-1.11/configure
sudo autoconf
Ceci fait, le problème de tcl est réglé. Mais lorsqu'on recommence l'installation on génère d'autres problèmes, les voici :
warning: deprecated conversion from string constant to 'char*'
warning: suggest explicit braces to avoid ambiguous 'else'
warning: suggest parentheses around && within ||
warning: suggest parentheses around comparison in operand of &
warning: 'typedef' was ignored in this declaration
Ces problèmes sont du à la version de gcc utilisé (ici gcc4.3.2). Pour corriger les 4 premières lignes il faut encore modifier quelques lignes dans le fichier configure :
sudo gedit ns-2.29/configure
Et on ajoute ceci :
-Wno-write-strings -Wno-parentheses
A toute ces lignes :
CCOPT = -g -Wall
Afin d'avoir :
CCOPT = -g -Wall -Wno-write-strings -Wno-parentheses
Mais malgré ces modifications le problème de typedef restera et engendrera une erreur qui ne permettra pas de finir la phase d'installation. Ainsi après d'autres recherches, j'ai trouvé un patch permettant de compiler cette version de ns2 avec le compilateur gcc4.1.
Il faut donc tout d'abord installer cette version du compilateur :
sudo apt-get install gcc-4.1
Puis télécharger ce patch et patcher ns2 avec celui-ci :
Ceci fait réinstallé ns2, normalement cette fois ça marche. Attention toute fois avec les versions 64 bits de linux, nam ne s'installe pas. Je n'ai pas trouvé de solution à ce problème, sauf celui de passer en 32 bits.
Il ne reste plus qu'à suivre ce qui est dit en fin d'installation :
gedit ~/.bashrc
Cela va vous ouvrir une page blanche, qu'il suffira de remplir avec ceci [7] :
NSHOME=/usr/local/ns-allinone-2.33
export PATH=$PATH:$NSHOME/bin:$NSHOME/tcl8.4.11/unix:/$NSHOME/tk8.4.11/unix
export LD_LIBRARY_PATH=$NSHOME/lib:/usr/X11R6/lib:$NSHOME/otcl-*
export TCL_LIBRARY=$NSHOME/tcl*/library
Enregistrer et fermer gedit, taper ceci pour que les quelques lignes ci dessus prennent effets :
source ~/.bashrc
Maintenant si vous taper ns dans un terminal un % devrait apparaître signe que tout c'est correctement installé.
Pour finir taper encore ces quelques lignes dans un terminal pour valider l'installation :
cd ns-2.29
./validate
Cette étape est longue, très longue...
Voilà, monologue clos !