如果你读到这里已经在你的Linux系统上安装好了Mono,那你现在可以略过这一部分直接去看Your Mono toolset这一章节.不过当然了,如果你感兴趣的话也可以看看我怎样花两个小时的时间来编译源文件.
好了,现在我们就要开始编译Mono的源文件并且来安装它了. No problem.这”应该”是一个比较简单的工作.我已经在Linux上无数次的配置,编译并安装了它,都没有发生过什么问题.这次也一样.在这个章节中我会在源文件的基础上向你解释它是如何工作的.然后我还会演示怎样用Mono的源文件来配置,编译并安装它.步骤如下:
1. 要做的第一件事就是从Mono的下载页面来下载源文件.下载页面的地址就是前面说的: http://www.mono-project.com/downloads/index.html[^].
2. 然后点击并下载Mono Runtime的源文件,位置一般是在顶部.我下载时的路径是: http://www.go-mono.com/archive/1.0.5/mono-1.0.5.tar.gz.
3. 当文件下载好后,我们就要使用控制台来完成剩下的工作.
4. 我建议你用管理员帐户来完成下面的工作.如果你是作为一个独立的计算机来使用Linux的话你可以输入以下的命令sudo bash, 然后输入管理员密码来切换到管理员状态.
5. 使用tar -xvzf mono-1.0.5.tar.gz来解压文件, tar -xvzf mono-1.0.5.tar.gz是你下载文件的名字.
6. 然后切换到解压后源代码的路径(使用命令cd mono-1.0.5 如果你解压的路径和我不一样的话,就输入cd然后跟你所解压后文件的路径名)
7. 现在,在我们开始编译源文件之前你先要配置make files.只要输入下面的命令就可以了: ./configure --prefix=/usr.这会花一点时间.我假定现在没有发生错误.从我下面所说的你可以看出,这种方法并不是只针对默认的SuSE 9.2 Professional安装
8. 当./configure --prefix=/usr命令完成后你就可以开始编译并安装源文件了.
9. 事实上想要编译Mono Runtime源文件的话你需要用到Make命令.
10. 最后就剩下安装了,没有什么合适的词语来形容这个步骤,只要简单的运行make install命令就行了.这时就会将被编译好的二进制文件,库文件和其他一些东西部署到你合适的路径中.
现在我该做什么呢?我已经安装好了SuSE 9.2 Professional和开发工具.但是就像我前面提到的一样,我使用的是默认的安装方式.对于那些习惯了windows和喜欢最小化安装方式的人来说,我会在下面演示这个步骤.
接下来的这些步骤就比较长了,我需要从Mono的源文件上配置,编译并安装它.这个过程并不复杂.每个步骤都是很简单的.但是那些对LINUX不熟的人在Mono安装的时候看到一直提示他./configure --prefix=/usr失败,然后让他运行下面这三个命令(首先是./configure --prefix=/usr,然后是make,最后是make install)的时候都会觉得很恐怖的.我在想是不是应该在这篇文章中将Mono源文件的安装方法写的更多一点.因为我确定有很多遇到同样问题的人会希望分享我的经验.如果你已经安装好了MONO请跳过这一部分.
在这里你照着我做的这些做就行了:
1. 从http://www.go-mono.com/archive/1.0.5/mono-1.0.5.tar.gz下载"Mono Runtime 1.0.5"
2. 将下载的文件解压然后放到source directory中.
3. 用sudo bash命令切换到管理员状态
4. 在MONO上运行./configure --prefix=/usr命令
a. ./configure --prefix=/usr这是因为没有安装所需要的编译器.
b. 用Yast安装编译器(gcc c++和它附属的东西)
5. 再次为MONO运行./configure --prefix=/usr命令
a. ./configure 失败是因为默认的安装中没有安装bison
b. 从http://ftp.gnu.org/gnu/bison/bison-2.0.tar.gz下载bison
c. 解压下载的bison并且把它放在解压路径中
6. 为bison运行./configure命令
a. 为bison运行./configure命令失败是因为需要GNU m4 version 1.4或更高的版本
b. 从http://ftp.gnu.org/gnu/m4/m4-1.4.1.tar.gz 下载m4
c. 解压m4并且把它放到解压路径中
d. 为m4运行./configure命令……成功了!
e. 为m4运行make命令……成功!
f. 为bison运行make install命令……成功!
7. 第三次为MONO运行./configure --prefix=/usr命令
a. 运行./configure再次失败,因为需要"pkg-config",但在默认的SuSE 9.2安
装中没有安装它
b. 从http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz下载pkg-config
c. 解压pkg-config并把它放到解压路径中
d. 为pkg-config运行./configure命令……成功了!
e. 为pkg-config运行make命令……成功!
f. 为pkg-config运行make install命令……成功!
8. 第四次为MONO运行./configure --prefix=/usr命令
a. 这次会怎么样呢?...... ./configure又一次失败了.这次是因为需要glib-2.0(或更高的版本).但在默认的SuSE 9.2 的安装中并没有安装它.
b. 从ftp://ftp.gtk.org/pub/gtk/v2.6/glib-2.6.1.tar.gz
下载glib_2.6.1
c. 解压glib_2.6.1并把它放到解压路径中
d. 为glib-2.6.1 运行./configure命令
下载gettext 0.14
- 解压下载后的gettext 0.14并且把它放在解压路径中
- 为gettext 0.14运行 ./configure 命令... 成功!
- 为gettext 0.14运行 make命令...
- Make失败了,因为C#的编译器没有安装. :wtf: :confused:... make suggests installing Platform.NET :rolleyes(我这里不明白,所以贴原文了,谁明白的话告诉我:leib0474 at gmail.com)
- Reconfigured gettext as there was no way I was installing Platform.NET just so I could install Mono.
- 为gettext运行 ./configure --disable-csharp 命令... 成功!
- 为gettext运行make命令……成功!
- 为gettext运行make install命令……成功!
d. 再次为glib-2.6.1运行./configure –prefix=/usr命令….成功!
e. 为glib-2.6.1运行make命令……成功!
f. 为glib-2.6.1运行make install命令……成功!
9. 第五次为MONO运行 ./configure –prefix=/usr命令….终于成功了!
10.为MONO运行make命令….成功!
11.为Mono运行make install命令….成功!
12.松口气吧!
上面那些编译源代码的步骤也许会让一些人感到一点痛苦,但这个过程其实真的是很简单的.主要的问题是在时间的花费上.例如每次为Mono运行./configure命令需要两三分钟的时间.和每次为另一些已经编译安装好的东西运行./configure的时间都差不多.一般来说make命令要比./configure花的时间长一些.也有一些时间是花在寻找,下载和解压那些所需要安装的不同的东西上面.噢!在我用这些安装好的工具之前我还要重新启动一次SuSE呢!