Fr/Depannage

Cette page donnne des configurations specifiques a certains syemes qui peuvent etre utilies et des conseils pour des problemes pouvant etre rencontres.

CentOS 5
Pour installer mono et nant, vous pouvez utiliser le "Linux Installer for x86" se trouvant à http://www.mono-project.com/Downloads.

SVN peut etre installé par :

yum install subversion

Mono s'installe par defaut dans /opt, donc vous devez ajouter le chemin dans vos variables d'environnement, par exemple dans votre fichier ~/.bashrc:

export PATH="/opt/mono-1.2.5/bin:$PATH" export PKG_CONFIG_PATH="/opt/mono-1.2.5/lib/pkgconfig:$PKG_CONFIG_PATH" export MANPATH="/opt/mono-1.2.5/share/man:$MANPATH" export LD_LIBRARY_PATH="/opt/mono-1.2.5/lib:$LD_LIBRARY_PATH"

Apres avoir change le LD_LIBRARY_PATH, vous devriez mettre a jour le cache dynamique de liaisons:

ldconfig

Vous devrier encore rencontrer l'erreur "The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file." . Dans ce cas, ceci devrait reparer cela :

yum install glib

Si vous executez un pare feu comme (i.e., if iptables -L qui montre une liste de regles ACCEPT et REJECT), vous aurez a ouvrir les ports necessaires si vous voulez acceder a votre sim depuis d'autres machines. Pour le mode standalone :

iptables -I RH-Firewall-1-INPUT -p tcp --dport 9000 -j ACCEPT iptables -I RH-Firewall-1-INPUT -p udp --dport 9000 -j ACCEPT

Debian 4.0r0
Si vous avez configuré votre systeme pour utiliser les sources instables, et que vous installez certains packages listés au dessus, tout devrait fonctionner. Pour utiliser les les sources instables, modifiez votre fichier /etc/apt/sources.list en remplacant 'etch' ou 'stable' par 'unstable':

deb ftp://ftp.debian.org/debian/ unstable main deb-src ftp://ftp.debian.org/debian/ unstable main

Ensuite mettez à jour vos packages vers les nouvelles versions :

apt-get update apt-get dist-upgrade

Ceci va probablement changer un grand nombre de package et casser des choses. Dans mon experience, si vous n'utilisez pas de sources instables alors les packages ne sont pas suffisemment mis a jour, et vous allez vers des problemes de versions qui enverront deux erreurs de DllNotFoundException apparaissant dans la sortie de console : gdiplus.dll and libopenjpeg-libsl-2.1.2.0.so.

Une fois que les sources sont mises a jour, nous devons installer les packages necessaires pour etre capables de compiler OpenSIm:

apt-get install subversion mono nant mono-gmcs mono-mjs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil

Si l'un de ces packages est maquant, vous allez probablement rencontrer une des erreurs listees ci dessus. Cependant, avec ces packages, OpenSim devrait se compiler proprement.

Gentoo
certaines dependances de Mono et le dernier Mono devraient utiliser les packages masqués de "~x86" (en assumant que votre plateforme soit un x86, le changement peut etre effectué pour apparaitre comme ex:"~amd64" pour 64bits). Vous pouvez verifier pour le parametre USE avec:

ACCEPT_KEYWORDS="~x86" emerge -vp subversion nant mono libgdiplus

Ensuite installez avec:

ACCEPT_KEYWORDS="~x86" emerge subversion nant mono libgdiplus

N.B: The ACCEPT_KEYWORDS="~x86" peut etre changé dans le fichier Gentoo /etc/make.conf, mais ceci change les valeurs dans testing/unstable, en l'utilisant au debut de la ligne de commande seulement pour le process emergeant

Mac OS X
Ceci assume que vous utilisez le binaire universel pour mono du site Mono Project.

Apres avoir installé mono, vous devez mettre a jour votre chemin pkg-config. Je le fais dans ~/.bash_profile: export PKG_CONFIG_PATH="/Library/Frameworks/Mono.framework/Versions/1.2.5.1/lib/pkgconfig/:${PKG_CONFIG_PATH}"

Si vous utilisez ODE, vous devrez de nouveau compiler la librairie ODE manuellement. Telechargez d'abord les libs opensim-libs depuis le SVN, ensuite configurez et compilez ODE. Depuis une fenetre de terminal :

svn co http://opensimulator.org/svn/opensim-libs/trunk opensim-libs cd opensim-libs/unmanaged/OpenDynamicsEngine/ ./configure make

Ensuite copiez le fichier ode/src/libode.dylib dans votre dossier OpenSimbin</tt>.

System.DllNotFoundException: gdiplus.dll
D'abord verifiez d'etre sur que libgdiplus.so</tt> est connu en tant que gestionnaire de lisaisons dynamique:

/sbin/ldconfig -p | grep libgdiplus

Si rien n'est trouvé, verifiez bien que le dossier libgdiplus.so existe ou bien dans votre variable LD_LIBRARY_PATH</tt>  ou listé dans un fichier *.conf file (e.g., gdiplus.conf) dans /etc/ld.so.conf.d/. Ensuite lancez ldconfig</tt> pour mettre a jour le cache. Ensuite, il devrait etre capable de trouver la librairie.

Vous devriez toujours avoir l'erreur ci dessus, cependant depuis que libgdiplus depend aussi d'autres librairies dynamiques, et si elles ont echoué au lancement, libgdiplus echouera. Pour tester cela, lancez OpenSim avec les informations de debug activées:

MONO_LOG_LEVEL=debug mono OpenSim.exe

Il devrait montrer les erreurs de lancement des autres librairies comme libexif.so.9</tt>. Dans ce cas, liez vers une version existante de la librairie:

ln -s libexif.so.12 libexif.so.9

(Y a t il une meilleure solution que celle ci ?) ''(Est ce que ces bidouilles ne devraient pas etre 'ln -s libexif.so.9  libexif.so.12'))

The assembly mscorlib.dll was not found or could not be loaded
Ceci indique qu'il vous manque une des librairies mscor qui viennent avec nant. Ceci est facilement resolu en recuperant NAnt, qui est fourni avec les version 1.0 et 2.0 de la librairie necessaire.

apt-get install nant

External Program Failed: /usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe
Ceci est rapidement reparé en recuperant mono-gmcs.

apt-get install mono-gmcs

The type or namespace name JScript does not exist in the namespace Microsoft
Notez que cela dit Jscript en boucle. Un indice peut etre ?

apt-get install mono-mjs libmono-microsoft8.0-cil

The type or namespace name Tcp does not exist in the namespace System.Runtime.Remoting.Channels
Celui ci est pris en compte avec une rapide installation:

apt-get install libmono-system-runtime2.0-cil

error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file
Si vous demarrez un syseme de base Debian comme nous avons fait en haut de cette page, mais à la place d'utiliser la version apt de mono vous utilisez l'installeur depuis leur site web, alors vous pouvez rencontrer ce probleme.

Apres avoir obtenu le fichier .bin depuis http://www.mono-project.com/Downloads, et l'executant pour ses instructions, apres avoir fini, vous pourrez trouver que si vous essayez de lancer 'mono --version' vous vous retrouvez avec ce message. Ceci veut dire que vous devez installer libglib2.0-0.

apt-get install libglib2.0-0

The current runtime framework 'mono-2.0' is not correctly configured in the NAnt configuration file.
Celle ci semble etre reparee en recuperant la version apt de nant.

apt-get install nant

Ceci peut aussi etre dû à pkg-config</tt> qui n'est pas capable de localiser mono.pc</tt> file. Ajouter le dossier qui contient ce fichier dans votre variable d'environnement PKG_CONFIG_PATH</tt> devrait resoudre le probleme.