installare mono 2.4.3 per opensim

Mono e’ il motore che permette al simulatore opensim di funzionare.

La configurazione suggerita per cyberlandia ha come sistema operativo Ubuntu e la maggior parte delle isole sono installate su macchine a basso costo di diversi provvider (ovh, linode) solitamente macchine virtuali (vengono simulate da un server fisico, e’ tutto un giro di simulatori questo metamondo :)

Mono attualmente e’ alla versione 2.4.3 – su cyberlandia siamo alla versione 2.2. Con questo post vi insegnero ad aggiornarlo.

La versione 2.4.3 e’ piu performante e diminuisce di molto i crash. Per le versioni recenti di OpenSim e’ praticamente obbligatorio utilizzarlo.

Al solito vi elenco i comandi per ottenere mono funzionante.

ci posizioniamo come utente root nella cartella opensim

cd /home/opensim

creiamo una cartella e ci entriamo

mkdir mono-2.4

cd mono-2.4

effettuaiamo il download di libgdiplus e di mono dai sorgenti

wget http://mono.ximian.com/monobuild/snapshot/snapshot_sources/libgdiplus/libgdiplus-140293.tar.bz2

wget http://mono.ximian.com/monobuild/snapshot/snapshot_sources/mono/mono-142439.tar.bz2

scompattiamo

tar -xjf libgdiplus-140293.tar.bz2

tar -xjf  mono-142439.tar.bz2


vengono create due cartelle: libgdiplus-140293 e mono-142439

dove dobbiamo procedere con la compilazione:

cd libgdiplus-140293

./configure

make

make install

i comandi make e make install durano diversi minuti … aspettare che finisca

passiamo ora a compilare mono, purtroppo un bug non ancora corretto da dei problemi durante i teleport, nel caso si utilizzino delle macchine con piu schede di rete, bisogna prima della compilazione di mono correggere un file:

cd ..

cd mono-142439/mcs/class/System/System.Net.NetworkInformation/

editare il file NetworkInterface.cs usare vi o nano oppure scaricarlo in locale con filezilla,

individuare le righe:

————————

if (((int)sockaddrll.sll_halen) > sockaddrll.sll_addr.Length){
Console.Error.WriteLine (”Got a bad hardware address length for an AF_PACKET {0} {1}”,
sockaddrll.sll_halen, sockaddrll.sll_addr.Length);
continue;

——————

e sostituirle con

if (((int)sockaddrll.sll_halen) > sockaddrll.sll_addr.Length){
Console.Error.WriteLine (”Got a bad hardware address length for an AF_PACKET {0} {1}”,
sockaddrll.sll_halen, sockaddrll.sll_addr.Length);
next = addr.ifa_next;
continue;

salvare il file o sostituirlo quindi si puo procedere con la compilazione di mono:

./configure

make

make install

a questo punto il vostro mono e’ aggiornato alla 2.4.3

e si possono riavviare le isole con la nuova versione.

3 comments to installare mono 2.4.3 per opensim

  • nicolas

    Bravo Carlos, il tutorial è ottimo come al solito… ho aggiornato da poco mono alla versione 2.4.3 con le dovute modifiche al file NetworkInterface.cs e sembra andare tutto bene.
    suggerirei cmq, dopo aver modificato quel file e prima di compilare mono, di digitare il seguente comando:

    cd /home/opensim/mono-2.4/mono-142439/

    per tornare nella directory di mono e proseguire con la sua compilazione.

    un saluto a tutti!

  • Hashanty

    Grazie Carlos, ma una domanda da ignorante totale: che ne faccio della vecchia cartella mono 2.2? La elimino? Posso? Grazie :-)

  • si Hashanty, puoi eliminarla tranquillamente

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>