在 Ubuntu 10.10 操作系统中安装 Mono 2.8.2

Ubuntu 10.10 自带了 Mono 2.6.7。而目前最新版本是 Mono 2.8.2。由于 Ubuntu 操作系统中的“阿贴便笺”等软件是用 C# 开发的,因此它们依赖于 Mono 。为了不破坏 Ubuntu 操作系统中这类软件,我们需要并行地安装 Mono 2.8.2,具体做法是安装到 /opt/mono-2.8.2 目录下。这样两个版本的 Mono 就可以共存了。

准备工作

先准备一下编译环境,使用如下的命令来安装: 

ben@ben-m4000t:~$ sudo apt-get install build-essential automake libtool mono-complete gendarme subversion libpng-dev libtiff-dev libgif-dev libjpeg-dev libexif-dev autoconf bison flex libcairo-dev libpango1.0-dev

上面的 build-essential 软件包是基本的编译环境,包括 C/C++ 编译器。而 mono-complete 是 Mono 的编译环境,包括 C# 编译器。Ubuntu 操作系统默认安装的是 Mono 的运行环境,并不包括编译环境。你没有看错,我们想从源代码编译 Mono 2.8.2,先要安装一个操作系统默认提供的 Mono 编译环境,对于 Ubuntu 10.10 操作系统来说就是 Mono 2.6.7 的编译环境。Mono 的源代码核心部分是用 C/C++ 语言编写的,可能还有一部分是用汇编语言编写的。但是还有一大部分,比如 .NET Framework Base Class Library 之类的,是用 C# 语言编写的。所以说,从源代码编译高版本的 Mono,需要先安装低版本的 Mono。(这句话不正确)

从源代码编译 Mono 2.8.2

现在让我们从 Mono 的源代码自己编译一个吧:

ben@ben-m4000t:~$ cd src ben@ben-m4000t:~/src$ wget --2011-01-07 10:02:49-- 正在解析主机 ftp.novell.com... 130.57.1.88 正在连接 ftp.novell.com|130.57.1.88|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度: 31292886 (30M) [application/x-bzip2] 正在保存至: “mono-2.8.2.tar.bz2” 100%[===========================>] 31,292,886 15.5K/s 花时 28m 14s 2011-01-07 10:31:04 (18.0 KB/s) - 已保存 “mono-2.8.2.tar.bz2” [31292886/31292886]) ben@ben-m4000t:~/src$ tar xjf mono-2.8.2.tar.bz2 ben@ben-m4000t:~/src$ rm mono-2.8.2.tar.bz2 ben@ben-m4000t:~/src$ cd mono-2.8.2 ben@ben-m4000t:~/src/mono-2.8.2$ ./configure --prefix=/opt/mono-2.8.2 ==========> 这里省略了一大堆输出 <========== mcs source: mcs olive source: Engine: GC: sgen and bundled Boehm GC with typed GC and parallel mark GLIB: embedded TLS: __thread SIGALTSTACK: yes Engine: Building and using the JIT oprofile: no BigArrays: no DTrace: no Parallel Mark: yes LLVM Back End: no (dynamically loaded: no) Libraries: Moon Profile: no MonoTouch: no JNI support: IKVM Native libgdiplus: assumed to be installed zlib: system zlib ben@ben-m4000t:~/src/mono-2.8.2$ make =====> 这里进行漫长的编译过程,并产生一大堆输出 <===== ben@ben-m4000t:~/src/mono-2.8.2$ sudo make install ===> 这里进行不那么漫长的安装过程,并产生一大堆输出 <=== ben@ben-m4000t:~/src/mono-2.8.2$

注意上面为编译配置环境时使用了 --prefix=/opt/mono-2.8.2 参数,这是并行安装的关键。如果省略这个参数,最后使用 make install 进行安装时就会覆盖掉原来的 Mono 2.6.7 版本。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzzxd.html