Mono en Slackware Linux

Este cuatrimestre en la universidad me encontr茅 con la sorpresa de que, para programaci贸n, nos iban a impartir clases de C# (C sharp).

Un poco de historia al asunto:
C sharp es un lenguaje de programaci贸n creado por Microsoft pero abierto al p煤blico (esta parte me sorprendi贸, realmente) por medio de unas estandarizaciones, como por ejemplo ISO, y ECMA (Standard Computer Manufacturers Association). De modo que ya no es solo para productos Microsoft.

Problem谩tica:
Sin importar la raz贸n que fuese, no ten铆a (ni tengo) ninguna intenci贸n de blasfemar la integridad de mi disco duro instalando Microsh*t Winblows; de modo que anduve buscando opciones.

Alternativa:
Encontr茅 a “Mono”, un compilador de C# para Linux que es asombrosamente compatible con el framework .NET de M$ft. Entre las cosas que me motivaron a verlo con buen ojo, est谩n:

1. Multi Plataforma:
Corre en Linux, OS X, BSD, y Microsoft Windows, incluyendo x86, x86-64, ARM, s390, PowerPC y varias m谩s, de modo que si te decides a programar en C#, tus clientes potenciales son muchos.

2. Multi Lenguaje:
Puedes programar en C# 3.0 (incluyendo LINQ), VB 8, Java, Python, Ruby, Eiffel, F#, Oxygene, y varios m谩s.

3. Est谩 auspiciado por Novell (hay dinero de por medio invertido en esto).

4. Etc.

Para obtener la ultima versi贸n estable de Mono, solo hay que ir a su 谩rea de descarga: http://ftp.novell.com/pub/mono/sources-stable/

Luego de bajarlo, puedes instalarlo sin ning煤n problema siguiendo unos pasos de instalaci贸n b谩sica que trae.

$ ./configure
$ make
# make install

MonoDevelop , el gran reto:
Aunque el proceso de instalacion de Mono es muy sencillo, realmente no se puede decir lo mismo de la interfaz de desarrollo que se usa para esas cuestioncitas .NET (en Linux). Realmente no es ‘dificil’, pero es bien trabajoso y puede ser hasta frustrante si no se hace en un orden correcto (lo digo por experiencia).

Si eres usuario de Slackware, y tienes la version 12.1 o cercana, es probable que no tengas instalado Gnome (como me pas贸 a mi). Si lo tienes instalado, felicidades, no creo que te falte nada.

A los que no tenemos Gnome instalado, nos hace falta tener algunas dependencias; las cuales deben ser instaladas en cierto orden para evitar infartos. Luego de instalar todo, y haber tomado notas del orden de instalaci贸n, me gustar铆a compartirlo con el publico :) .

El orden de las dependencias es el siguiente:

  1. Mono.Addins 0.3.1
    • gtk-sharp
      • pango
        • glib-2.18.2
  2. Gtksourceview#-2.0 0.10
  3. Monodoc 1.2.6
  4. MonoDevelop Source
    • gtksourceview-sharp-2.0
      • gnome-sharp-2.0
        • libgnomecanvas
          • gail
        • libgnome
          • gnome-vfs-2.0
            • gconf-2.0
              • ORBit-2.0
        • libbonobo-2.0
          • libgnomeui
            • libbonoboui-2.0
            • gnome-keyring-1
              • LibtASN1
        • libgnomeprint
          • libgnomecups-1.0
        • libgnomeprintui
        • gnome-panel
          • gtk+-2.0 >= 2.13.1 (desinstalar las que trae Slackware)
            • cairo >= 1.6 (desinstalar el que trae Slackware)
              • pixman-1 >= 0.12.0
          • gnome-desktop-2.0
            • gnome-doc-utils >= 0.3.2
          • gnome-menus
          • libwnck-1.0 >= 2.19.5
          • gweather
            • libsoup-2.4
      • gtksourceview-1.0

as mas produndo en el orden previo este la libreria, debes darle prioridad en la instalacion; es decir, si te fijas en la lista anterior, te digo ahi que debes instalar gtksourceview-sharp-2.0. Pero para eso necesitas previamente algunas librerias, como por ejemplo gnome-sharp-2.0, quien a su vez depende de varias mas, como es el caso de libgnome ( pero necesitas instalar ORBit-2.0, luego gconf-2.0, luego gnome-vfs-2.0, y luego es que vas a instalar libgnome).

Todo el proceso te puede tomar de 30 minutos, a incluso varias horas. Si haces caso de la lista de dependencias que puse ahi arriba, puede ser rapido y sin complicaciones.

NOTA, cuando alguna dependencia dice nombre-xx-2.0 , no necesariamente buscaras la version 2.0, sino la version que en la rama 2.x este como estable.

Y por ultimo, los sources y librerias (requisitos, dependencias), puedes encontrarlos aqui: http://ftp.gnome.org/pub/GNOME/sources/ (casi todos).

A excepcion de uno o dos que no estan ahi porque no son desarrollados por Gnome. Pero son MUY facil de encontrar en google.

Finalmente:
El tomarse el tiempo de instalar o no Mono, MonoDevelop IDE, depende de que tanto te moleste o no la idea de tener que instalar Windows en tu PC. En mi caso preferiria comprar otro disco que luego pueda arrojar a la basura en caso de que le pase algo ;D

Espero que esta lista les haya sido util, y que les ahorre tiempo.

Hasta luego,

This entry was posted in Aplicaciones, General.

One Response to Mono en Slackware Linux

Leave a Reply