domingo 27 de julio de 2008

Instalación de mono 1.9.1 en Ubuntu.

Si instalás la ultima version de mono desde el paquete binario (1.9.1), en ubuntu (y supongo cualquier otro linux), te vas a dar cuenta que no todo quedo bien. Cuando intentas ejecutar monodevelop, no va a funcionar por problemas con la mscorlib en primer lugar.

Así que para quien lo quiera hacer, les comento cuales son las cosas que hay que reparar:
- arreglar el problema de la mscorlib
- arreglar problemas con la carga de monodevelop que surgen luego.

Aclaro que todos los cambios que sugiero son sobre una instalación previa hecha como root, (usando sudo), y el path de instalación fue: "/opt/mono-1.9.1"

Pasos:
1- Crear los enlaces a las dll para que monodevelop pueda cargar los complementos en monodevelop.

jaa@dino-thunder:~$ cd /opt/mono-1.9.1/lib/monodevelop/AddIns/
jaa@dino-thunder:/opt/mono-1.9.1/lib/monodevelop/AddIns$ for f in */* ; do sudo ln -s $f . ; done


lo siguiente es para que cargue primero la dll con el soporte a C#. Sin esto no funcionarán muchos de los demas complementos como el Designer y tampoco permitirá compilar proyectos de C sharp (se que es un poco sucio, pero muy efectivo!).


jaa@dino-thunder:/opt/mono-1.9.1/lib/monodevelop/AddIns$ cd /opt/mono-1.9.1/lib/monodevelop/bin/
jaa@dino-thunder:/opt/mono-1.9.1/lib/monodevelop/bin$ sudo ln -s ../AddIns/MonoDevelop.CSharpBinding.* .

2- Ahora resta editar el fichero que hace que arranque monodevelop, con esto arreglamos también el problema de la mscorlib que surje porque el script en realidad intenta utilizar una versión de mono incorrecta (el binario de /usr/bin/mono que para mi caso es el de la distro).

jaa@dino-thunder:/opt/mono-1.9.1/lib/monodevelop/bin$ sudo vi /opt/mono-1.9.1/bin/monodevelop
(si no te gusta vi! podes usar gedit!!) y cambiamos las siguientes lineas:
-linea 56, ponemos un # al pricipio lo cual la invalida

#MD_BIN_PATH=/usr/lib/monodevelop/bin
- y debajo ponemos lo siguiente (quedaría en la linea 57):
MD_BIN_PATH=/opt/mono-1.9.1/lib/monodevelop/bin
-y al final del fichero, hacemos el siguiente cambio:
#exec -a "monodevelop" /usr/bin/mono ./MonoDevelop.exe "$@"
exec -a "monodevelop" /opt/mono-1.9.1/bin/mono ./MonoDevelop.exe "$@"

Es importante ver que este ultimo cambio solo afecta a la invocación normal del script. Si queremos utilizar las opciones de debug, trace o profile, hay que modificar entre las lineas 82 y 99, y cambiar todas las ocurrencias de /usr/bin/mono con con /opt/mono-1.9.1/bin/mono

Espero que le sirva a alguien, porque a mi me tomo unas dos o tres horas darme cuenta de que cambios realizar.

NOTA: este post, también lo envié a la lista de correo de mono hispano.

Etiquetas: , , , , , , ,

0 comentarios:

Publicar un comentario en la entrada

Suscribirse a Enviar comentarios [Atom]

<< Página principal