天天看点

mono和monodevelop源码编译安装

之所以用源码编译的方式安装mono和monodevelop,是因为通过yum安装的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程。

而且通过源码安装,可以进一步了解mono的各个项目之间的关系。

我用的Fedora16系统

下载mono的最新源码,github上的源码编译时总是报找不到 gmcs.exe的错误。

我下的是mono-2.11.3版

需要注意的是用root用户来安装,否则有错误。

monodevelop的源码编译安装相当曲折,搞了好几天。

有几点需要注意:

在monodevelop的官网上下最新源码,否则在./configure时会有找不到文件的错。

在安装monodevelop之前,要先安装一些依赖的包。(mono-addins,gtk-sharp,libglade2,gnome-sharp-2.0)

安装完后,需要设置LD_LIBRARY_PATH这个环境变量

用root用户来安装

安装monodevelop之前,按顺序安装一些依赖包:

(gtk-sharp  --> mono-addins --> libglade2--> gnome-sharp-2.0)

这些包在安装时也会遇到各种问题,下面是我安装时遇到的各种问题及解决方法,供参考。

以上的安装顺序是我总结出来的,没有试验过。

我安装时并不知道上面的安装顺序,是直接安装monodevelop,然后遇到问题再解决的。我的安装顺序如下:

1) 和mono同样的网址下载monodevelop的最新代码。

此时报了一个错误如下:找不到 UNMANAGED_DEPENDENCIES_MONO

通过以下命令修复此错误:

再次执行:

此时报了一个错误如下:找不到 mono-addins

下载mono-addins并安装,

此时报了一个错误如下:找不到 gtk-sharp-2.0

下载gtk-sharp并安装,

gtk-sharp安装成功后,接着安装mono-addins

mono-addins安装成功后,接着安装monodevelop   

此时报了一个错误如下:找不到 glade-sharp-2.0

我不知道glade-sharp是什么包,先安装了libgdiplus

下载libgdiplus并安装,

make时报了一个错误如下:

解决办法如下:

1. 运行./configure --prefix=/usr/local 之后,编辑 tests/Makefile 文件

2. 在Makefile文件130行位置,将   LIBS = -lpthread -lfontconfig

                            改为 LIBS = -lpthread -lfontconfig -lglib-2.0 -lX11

3. 再次运行 make 即可

接着安装monodevelop  

仍然是错误:找不到 glade-sharp-2.0

利用yum 安装libglade2-devel,mono源码中没找到这个包

知道这个包的名称,也可以找相应的rpm来安装。

安装完libglade2后,重新安装 gtk-sharp2,安装方法上面已有。

接着,再次尝试安装 monodevelop:

此时报了一个错误如下:未安装gnome-sharp-2.0

下载 gnome-sharp-2.0 并安装

虽然没有报错,但是提示缺少3个assmely: art-sharp.dll,gnomevfs-sharp.dll,gnome-sharp.dll

下面的两个dll对应如下库:(我是通过 yum找到的)

art-sharp.dll             : libart_lgpl-devel

gnomevfs-sharp.dll: gnome-vfs2-devel

最后一个根据上面的提示,(对应如下库)

gnome-sharp.dll   : libgnomecanvas, libgnome,

            libgnomeui, libgnomeprint, libgnomeprintui, and

            libpanelapplet(即gnome-panel-devel)

make 后,报出如下错误:

经过调查,

1.  原来是gnome-sharp版本太旧的原因,

    前面用的gnome-sharp-2.20.*用了Mono.GetOptions,更新至gnome-sharp-2.24.*

2.  注释掉gnome-sharp-2.24.1/sample/gnomevfs/Makefile中关于 Mono.GetOptions的内容

此时会产生一些找不到 tests/UnitTests/Makefile.in 之类的错误。

经过调查,似乎是monodevelop 版本的问题,在monodevelop官网上下载最新的代码,

然后重新安装,终于安装成功。官网上最新版是3.0.3.4

安装完后,monodevep却无法启动,错误如下:

将LD_LIBRARY_PATH加入到启动的配置文件中,即 ~/.bashrc

内容如下:

终于启动成功,也有 aspnet-mvc3的工程了 ^_^

记录下安装过程的错误,也是方便以后遇到相同的错误可以知道怎么解决。

大家在安装过程中如果有什么新的问题,欢迎交流。

本文转自wang_yb博客园博客,原文链接:http://www.cnblogs.com/wang_yb/archive/2012/07/29/2613844.html,如需转载请自行联系原作者

继续阅读