Categoría: Aplicaciones

Mono en Slackware Linux

01.11.08 | by José P. Espinal [mail] | Categories: Aplicaciones, General

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,

--
Jose P. Espinal
http://blog.slackware-es.com

Asterisk PBX y Slackware Linux

25/07/2008 | por José P. Espinal [mail] | Categorías: Aplicaciones, General

La estabilidad, simplicidad y robustez de Slackware Linux puede ser aprovechada tambien en el ámbito de las Telecomunicaciones. En esta ocasión veremos como instalar Asterisk PBX en Slackware Linux.

Asterisk es la PBX, mecanismo de telefonía, y conjunto de aplicaciones de telefonía de código abierto lider a nivel mundial. Ofreciendo una flexibilidad nunca antes vista en el mundo de las comunicaciones propietarias, Asterisk habilita a los desarrolladores y a los integradores a crear avanzadas soluciones de comunicaciones… de manera gratuita ;)

Slackware Linux, como ya sabemos, es un avanzado sistema operativo tipo Unix que desde su nacimiento ha tenido dos metas principales: Facilidad de usar (claro, si no te gusta leer ni usar ese músculo que te adorna el cráneo, al cual algunos llaman cerebro; Slackware Linux será tu peor enemigo) y Estabilidad.

(voy a asumir que ya tienen Slackware instalado…)

Si yo fuera tu, crearia una carpeta en /usr/src llamada ‘packages’ (siempre lo hago) y ahi tendria las cosas que voy descargando.

1. Descargando LibPRI

# wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz

Estas son las librerias de PRI (Primary Rate ISDN para interfaces T1/E1/J1)
NOTA: No es necesario descargarlo si no usaras una Hardware (tarjeta) de telefonia Digium, Sangoma, etc.

2. Descargando ZapTel

# wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz

Estos son los drivers para el Kernel de las tarjetas de interfaces analogas y digitales. (Las tarjetas Digium requieren esto).

3. Descargando Asterisk

# wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz

4. Descargando Asterisk Add-Ons

# wget http://www.digium.com/elqNow/elqRedir.htm?ref=http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz

Estas son librerias adicionales (extra) de Asterisk, que proveen aun mas funcionalidades (Poder usar MP3, OOH323, MySQL,etc.).

Una vez que lo hayas descargado todo, descomprimelo y (si quieres, esto otro es opcional) crea un vinculo simbolico a cada archivo.

Puedes copiar y pegar el siguiente scripcito para que te economices tiempo, solo es copiar y pegar:

for a in *.tar.gz ;
      do 
      tar xvzf "$a"; 
         ln -s `tar -tzf "$a" | head -n1`\
         `tar -tzf "$a" | head -n1 | gawk -F"-1" '{ print $1 }'` ;
done

Bien, ahora manos a la obra :P

Primero, vamos a instalar LibPRI, entra en el directorio de libpri,

# cd libpri
# make
# make install

Ahora vamos con Zaptel,

Nota: Te recomiendo que bajes primero las librerias de NewT, para que puedas usar la herramienta zttool luego de compilar zaptel.

Puedes bajarlo de aqui:

http://www.linuxpackages.net/pkg_details.php?id=10322

Es un .tgz, de modo que puedes instalarlo de la siguiente manera:

# installpkg nombre-de-paquete-.tgz

… continuamos,

# cd zaptel
# ./configure
# make menuselect (ojo con esto, lo explicare mas adelante)
# make
# make install

La parte de menuselect te permitira seleccionar de manera FACIL (grafica) los modulos que quieres que sean compilados para las diferentes interfaces de telefonia, asi como otros detalles interesantes. (esta aplicacion trae su documentacion, si no esta clara o necesitan que profundice, me avisan).

El siguiente es Asterisk:

# cd asterisk
# ./configure
# make menuselect (igual que en zaptel)
# make
# make install
# make samples (esto genera archivos de configuracion de muestra)

Por ultimo, (muy importante, por lo menos en mi opinion), los Addons:

# cd asterisk-addons
# ./configure
# make menuselect
# make
# make install
# make samples

Listo,

Para correr Asterisk, solo tienes que ejecutar (como root, obviamente):

# /usr/sbin/asterisk

o si no…

# /usr/sbin/safe_asterisk

Este ultimo es un script que inicia automaticamente Asterisk en caso de que por alguna razon ocurra un crash (uno nunca sabe, es mejor prevenir que lamentar).

Pues… bien, Esto es en cuanto a la instalacion de Asterisk en Slackware Linux, luego posteare articulos en torno a la configuracion, integracion de Asterisk con MySQL (para el record de llamadas, etc.) y otros detalles :)

Hasta la proxima,

--
Jose P. Espinal
http://www.slackware-es.com

Buscar

Recomendados

[~] SQLninja
[~] XvidCap
[~] Free DNS
Marzo 2010
Lun Mar Mié Jue Vie Sáb Dom
 << <   > >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
¡el blog solicitada ya no existe más!
powered by b2evolution free blog software