View previous topic :: View next topic |
Author |
Message |
innovatel Apprentice
Joined: 26 Jul 2003 Posts: 176 Location: Italy - Crema (Cr)
|
Posted: Mon Dec 01, 2003 1:36 pm Post subject: [Tips] Installare mono su gentoo |
|
|
Spettabile pubblico, ora vi imparerò come si mette su gentoo il supporto mono.
Come prima cosa apriamo la bellissima shell e digitiamo
Code: |
bash-2.05b# emerge dev-dotnet/mono
|
Aspettiamo un pochetto che venga scaricato il pacchetto e compilato e poi possiamo partire.
Hai finito la compilazione? Bene. Mono è installato. Sul mio pc che è un Atlhon XP 2000 non ci ha messo molto tempo. Stai chiedendo quanto? Te lo dico subito.
Code: |
bash-2.05b# genlop -t mono
* dev-dotnet/mono
Merged at Sun Nov 30 01:04:07 2003 (mono-0.26-r1)
merge time: 18 minutes and 3 seconds.
merged totally 1 time in 18 minutes and 3 seconds.
|
Nel caso non hai genlop sulla tua gentoo, ti consiglio di installarlo in quanto è comodissimo. Per farlo è necessario digitare:
Code: |
bash-2.05b# emerge app-portage/genlop
|
Benissimo. Mono è pronto. Come lo usiamo? Come prima operazione utile propongo di provarlo per vedere se realmente funziona. Aprite il vostro editor di testo preferito (io ho usato Kwrite) e creiamo un file dal nome: "test.cs". Il contenuto sarà il seguente:
Code: |
using System;
class test
{
static void Main()
{
Console.WriteLine("Hello Word");
Console.WriteLine("-----");
Console.WriteLine("Mono & Gentoo 1.4 - by innovatel");
}
}
|
Ora viene una bella domanda. Come lo uso questo simpaticissimo ed adorabile file? Molto semplice, ma per farlo dobbiamo tornare dalla nostra amica shell:
Code: |
bash-2.05b# cd /MonoTest
bash-2.05b# mcs test.cs
Compilation succeeded
bash-2.05b# mono test.exe
Hello Word
-----
Mono & Gentoo 1.4 - by innovatel
|
Ora viene la parte divertente. Chissà com'è fatto quel bellissimo file "test.exe". Curiosi anche voi? Bene, tra pochi secondi sarete soddisfatti:
Code: |
bash-2.05b# monodis test.exe
.assembly extern mscorlib
{
.ver 1:0:3300:0
}
.assembly 'test'
{
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.class private auto ansi beforefieldinit test
extends [mscorlib]System.Object
{
// method line 1
.method public hidebysig specialname rtspecialname
instance default void .ctor() cil managed
{
// Method begins at RVA 0x20ec
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void valuetype [corlib]System.Object::.ctor()
IL_0006: ret
} // end of method test::instance default void .ctor()
// method line 2
.method private static
default void Main() cil managed
{
// Method begins at RVA 0x20f4
.entrypoint
// Code size 31 (0x1f)
.maxstack 8
IL_0000: ldstr "Hello Word"
IL_0005: call void class [corlib]System.Console::WriteLine(string)
IL_000a: ldstr "-----"
IL_000f: call void class [corlib]System.Console::WriteLine(string)
IL_0014: ldstr "Mono & Gentoo 1.4 - by innovatel"
IL_0019: call void class [corlib]System.Console::WriteLine(string)
IL_001e: ret
} // end of method test::default void Main()
} // end of type test
|
Credevate fosse finito tutto qua? Sbagliato. Ora vediamo come fare funzionare anche le pagine .aspx. Vai ragazzi, non arrendetevi. La situazione è la seguente: il supporto mono c'è ed ora dobbiamo fargli capire come usare le pagine web fatte in c#.
Come prima operazione bisogna scaricare dal sito www.go-mono.com il webserver ?XSP web server (0.5)?. So che l'ultima versione rilasciata al momento della stesura è la 0.6, ma non sono riuscito ad installarla. Personalmente il file l'o scaricaro io /opt per poi installarlo nella seguente modalità:
Code: |
bash-2.05b# cd /opt
bash-2.05b# tar -xzvf xsp-0.5.tar.gz
bash-2.05b# cd xsp-0.5
bash-2.05b# make && make install
|
Ok, fatta. Ora dobbiamo metterlo in funzione e ci si diverte un pochetto tanto.
Code: |
bash-2.05b# cd /opt/xsp-0.5/server/test/
bash-2.05b# mono xsp.exe
Listening on port: 8080
Listening on address: 0.0.0.0
Root directory: /opt/xsp-0.5/server/test
Virtual directory: /
|
Ora apriamo il browser e digitiamo
Code: |
http://localhost:8080/
|
Magia. Avete visto che bello? Sinceramente non mi va di finire qui la spiegazione in modo maleducato, quindi ultimo sforzo. Apriamo Kwrite e creiamo un file "IoSaluto.aspx":
Code: |
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, System.EventArgs e)
{
if(!this.Page.IsPostBack)
{
this.txtNome.Text="";
this.lblDomanda.Text = "Posso sapere come ti chiami? ";
this.lblPower.Text = "<br><br>C# Powered by Gentoo 1.4 - by innovatel";
}
else
{
if(this.txtNome.Text!="")
this.lblSaluto.Text = "Ciao " + this.txtNome.Text ;
else
this.lblSaluto.Text = "Ciao anonimo .... " ;
this.lblDomanda.Visible = false ;
this.txtNome.Visible = false ;
this.btnSaluta.Visible = false ;
}
}
</script>
<html>
<body>
<form id="frmSaluto" method="post" runat="server">
<asp:label id="lblSaluto" runat="server" />
<br>
<asp:label id="lblDomanda" runat="server" /><asp:TextBox id="txtNome" runat="server" />
<asp:Button id="btnSaluta" Text="Cliccami" runat="server" />
<asp:label id="lblPower" runat="server" />
</form>
</body>
</html>
|
Come usarlo? Bhe semplicissimo.
Code: |
http://localhost:8080/IoSaluto.aspx
|
Bene. Ho finito di spiegare questo piccolo ma esaltante viaggio. Spero di esser stato d'aiuto a qualcuno e di non avervi rotto le scatole in tutto questo tips.
Ultimissima, spero di esser stato all'altezza, se così non fosse non mi picchiate
### Note Finali ###
Articolo scritto da Carratta Andrea ? innovatel il 01/12/2003
Sito Web: www.innoland.net
Mail: info(at)innoland.net
L'articolo è liberamente utilizzabile purchè venga citata la fonte. _________________ innovatel's Blog |
|
Back to top |
|
|
Gondor n00b
Joined: 30 Sep 2003 Posts: 4 Location: Venice!!!
|
Posted: Mon Dec 01, 2003 6:54 pm Post subject: |
|
|
Tnx to inno _________________ [color=FF0000]File reality.sys corrupted[/color]
[color=004990]Reboot universe? y/n[/color]
Non arrabbiarti. Tanto un giorno il mondo farà a meno di te |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30925 Location: here
|
Posted: Mon Dec 01, 2003 7:02 pm Post subject: |
|
|
Volevo sapere se mono e' completo al 100% o no. Mi pare che non funzioni
ancora tutto. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
emix Veteran
Joined: 30 Nov 2003 Posts: 1014
|
Posted: Mon Dec 01, 2003 7:22 pm Post subject: |
|
|
fedeliallalinea wrote: | Volevo sapere se mono e' completo al 100% o no. Mi pare che non funzioni
ancora tutto. |
Ancora non è completo al 100%. Dovrebbe essere rilasciata la versione 1.0 a metà 2004. Comunque sul sito puoi vedere le classi già implementate e quelle mancanti. |
|
Back to top |
|
|
innovatel Apprentice
Joined: 26 Jul 2003 Posts: 176 Location: Italy - Crema (Cr)
|
Posted: Mon Dec 01, 2003 7:27 pm Post subject: |
|
|
* ciccio -> de nada
mono è ancora in fase di sviluppo. Il compilatore c# è molto più avanti di quello vb.net del quale non ne capisco un senso pratico inambiente linux, ma fà nulla. La "stabilità" di una soluzione non posso dartela per un semplice motivo. Ci sono operazioni complesse su cui mono va bene ed altre più semplici dove si incarta dando anomalie. Bisogna sviluppare la soluzione e provarla. Chi mi conosce sa bene che sono contrario a questi miscugli in quanto reputo che ogni linguaggio nasce per il suo ambiente e non è giusto levarlo da esso. Il perchè ho messo mono allora vi chiedete? Bhe, installarlo per provare è corretto. Non è la curiosità che ci spinge nell'usare linux assieme alla voglia di imparare. Onestamente credo che il framework sia una delle migliori cose fatta da casa bill. Lo dico con una certa sicurezzza perchè lavoro in un ambito dotnet e lo vivo come realtà tuti i giorni: è immenso e non si finiscono mai di trovare cose nuove. In conclusione che voglio dire? Prima di tutto bisogna ammarirare davvero le persone che stanno facendo il porting data la complessità. Spero che con la voglia ed il sostegno di un "pubblico" il mono arrivi presto ad una versione stabile. _________________ innovatel's Blog |
|
Back to top |
|
|
emix Veteran
Joined: 30 Nov 2003 Posts: 1014
|
Posted: Mon Dec 01, 2003 7:39 pm Post subject: |
|
|
innovatel wrote: | Chi mi conosce sa bene che sono contrario a questi miscugli in quanto reputo che ogni linguaggio nasce per il suo ambiente e non è giusto levarlo da esso. |
Secondo me invece è una buona cosa... se il c# (che io reputo una imitazione del java) si rivela un buon linguaggio, trovo positivo il porting su un altra piattaforma. |
|
Back to top |
|
|
innovatel Apprentice
Joined: 26 Jul 2003 Posts: 176 Location: Italy - Crema (Cr)
|
Posted: Mon Dec 01, 2003 7:45 pm Post subject: |
|
|
il c# (per quel poco che lo conosco) è davvero un ottimo linguaggio sulla via del clike (i simili al c) tra cui vi è anche java.
Con java non mi trovo, ma con c# si (fine idea personale)
Il porting non è malvagio come idea ma vedi, quello che non mi piace è il fato di trapiantare un linguaggio in un ambiente non suo. Non voglio specifcare un caso particolare ma è generico. E' anche vero che a volte "ignoro" questa regola pure io. _________________ innovatel's Blog |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30925 Location: here
|
Posted: Mon Dec 01, 2003 8:29 pm Post subject: |
|
|
emi wrote: | Ancora non è completo al 100%. Dovrebbe essere rilasciata la versione 1.0 a metà 2004. Comunque sul sito puoi vedere le classi già implementate e quelle mancanti. |
Grazie per la risposta. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
emix Veteran
Joined: 30 Nov 2003 Posts: 1014
|
Posted: Tue Dec 02, 2003 8:57 am Post subject: |
|
|
fedeliallalinea wrote: | Grazie per la risposta. |
Dovere |
|
Back to top |
|
|
emix Veteran
Joined: 30 Nov 2003 Posts: 1014
|
|
Back to top |
|
|
innovatel Apprentice
Joined: 26 Jul 2003 Posts: 176 Location: Italy - Crema (Cr)
|
Posted: Wed Dec 03, 2003 9:24 am Post subject: |
|
|
Mitico. grazie emi per la segnalazione _________________ innovatel's Blog |
|
Back to top |
|
|
Kralizek Tux's lil' helper
Joined: 22 Mar 2004 Posts: 81
|
Posted: Thu May 06, 2004 11:44 am Post subject: |
|
|
volevo aggiungere che da poco è entrato nel portage tree (ancora masked) una ebuild chiamata mono-wine che permette di avere anche interfaccia grafica (in pratica è un porting del namespace Systems.Window.Forms)
Aggiungo ancora...
che la differenza sostanziale tra Java e .Net è che mentre su java si lavora sempre sulla stessa macchina virtuale, appiattendo alla fine il contesto su cui si lavora, con .net è possibile utilizzare caratteristiche proprie del sistema operativo con cui si lavora.
Ad esempio, sto sviluppando un'applicazione che girerà sicuramente sotto windows quindi posso avvalermi, oltre allo sterminato framework, anche del namespace Microsoft.Win32 che permette di utilizzare classi e funzioni per l'accesso al registro di configurazione (per es.) cosa che in ambito linux non avrebbe senso.
Ai puristi dell'hard portability questa cosa non piace, a me invece tanto perchè trovo + intelligente una portability che permette però di sfruttare le caratteristiche intrinseche del sistema su cui vogliamo lavorare.
Scusate il "papiello"
Byez
P.S: non esistono IDE buoni per programmare in .net sotto gentoo? thk |
|
Back to top |
|
|
Cagnulein l33t
Joined: 18 Sep 2003 Posts: 861 Location: Modena, Italy
|
Posted: Fri May 07, 2004 5:09 am Post subject: |
|
|
oggi è uscita la beta 1 di mono e colgo l'occasione per fare l'up di questa domanda:
Quote: | P.S: non esistono IDE buoni per programmare in .net sotto gentoo? thk |
perchè altrimenti a scrivere senza autocompletamento fai notte...
cmq intanto proviamo
edit: ho visto sul sito di mono che usano eclipse come editor...proviamo anche questo |
|
Back to top |
|
|
tocas Apprentice
Joined: 01 Jan 2004 Posts: 280 Location: 43°50'-10°27'
|
Posted: Fri May 07, 2004 6:26 am Post subject: Re: [Tips] Installare mono su gentoo |
|
|
innovatel wrote: |
....
Nel caso non hai genlop sulla tua gentoo, ti consiglio di installarlo in quanto è comodissimo. Per farlo è necessario digitare:
Code: |
bash-2.05b# emerge app-portage/genlop
|
|
Intanto io non riesco a emergere neanche genlop .
Questa è l'uscita di: Code: | emerge app-portage/genlop |
Code: |
ACCESS DENIED mkdir: /usr/man/man3pm
mkdir /usr/man/man3pm: Permission denied at /usr/lib/perl5/5.8.0/ExtUtils/Install.pm line 80
make: *** [pure_vendor_install] Error 255
!!! ERROR: dev-perl/Time-Duration-1.02 failed.
!!! Function perl-module_src_install, Line 73, Exitcode 2
!!! (no error message)
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/tmp/sandbox-Time-Duration-1.02-4908.log"
mkdir: /usr/man/man3pm
--------------------------------------------------------------------------------
dante root #
|
--- |
|
Back to top |
|
|
xlyz Veteran
Joined: 27 Oct 2002 Posts: 1470 Location: Italy
|
Posted: Fri May 07, 2004 7:16 am Post subject: |
|
|
Kralizek wrote: | Ai puristi dell'hard portability questa cosa non piace, a me invece tanto perchè trovo + intelligente una portability che permette però di sfruttare le caratteristiche intrinseche del sistema su cui vogliamo lavorare. |
domanda ingenua: ma in questo caso la "portability" non va semplicemente a farsi benedire?
cosa mi sfugge? |
|
Back to top |
|
|
emix Veteran
Joined: 30 Nov 2003 Posts: 1014
|
Posted: Fri May 07, 2004 7:28 am Post subject: |
|
|
xlyz wrote: | domanda ingenua: ma in questo caso la "portability" non va semplicemente a farsi benedire? |
Diciamo che è un modo per potenziare un linguaggio quando non si hanno esigenze di portabilità. Una cosa del genere è necessaria se la Microsoft vuole far diventare C# il linguaggio di riferimento su Windows. E poi a loro della portabilità non gliene frega niente... anzi. |
|
Back to top |
|
|
xlyz Veteran
Joined: 27 Oct 2002 Posts: 1470 Location: Italy
|
Posted: Fri May 07, 2004 7:35 am Post subject: |
|
|
emix wrote: | E poi a loro della portabilità non gliene frega niente... anzi. |
ok, lo ammetto. la domanda non era poi così ingenua |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30925 Location: here
|
Posted: Fri May 07, 2004 7:45 am Post subject: Re: [Tips] Installare mono su gentoo |
|
|
tocas wrote: | Intanto io non riesco a emergere neanche genlop .
Questa è l'uscita di: |
Code: | FEATURES="-sandbox" emerge app-portage/genlop |
_________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
tocas Apprentice
Joined: 01 Jan 2004 Posts: 280 Location: 43°50'-10°27'
|
Posted: Fri May 07, 2004 4:07 pm Post subject: |
|
|
... tutto ok.
grazie fedeliallalinea..... sempre !
--- |
|
Back to top |
|
|
|