在 Ubuntu 9.10 操作系统中安装 mono 2.6

我们知道,在 2009-10-29 发布的 Ubuntu 9.10 操作系统中已经内置 mono 2.4.2.3 版本了。到了 2009-12-08,mono 2.4.3 版本发布了。随后,在 2009-12-14 日,又发布了 mono 2.6 版本。而 Patric 又在
2009-11-29 日发表了 Mono 2.6 parallel environment on Ubuntu 9.10 ,如下所示:

Mono 2.6 parallel environment on Ubuntu 9.10

This is a simple work in progress to make the process a bit easier. There are many good reasons not to follow various scripts on the internet that install mono over the top of your packaged distribution install.The
fact the Mono 2.6 isn’t released yet is an overriding one because any application depending on mono might stop working, Banshee, Tomboy,F-Spot, etc

At the moment this scripts only supports Mono 2.6 + Ubuntu 9.10, see the TODOs! It will install mono into /opt/mono-2.6 and checkout & build in ~/mono-src/mono-2.6. Run it again to update your working copy and rebuild/install.

Please let me know if you like/hate/improve the script 

Download script here http://patrick.qmtech.net/downloads/mono_parallel.sh

You will need these packages installed: build-essential automake libtool mono-complete gendarme subversion libpng-dev libtiff-dev libgif-dev libjpeg-dev libxul-dev libexif-dev
autoconfautomake bison flex libcairo-dev libpango-dev

在上述文章最后提到了软件包中,automake 出现了两次,只需要保留一次。libpango-dev 应该用 libpango1.0-dev 代替。而 libxul-dev 会和 firefox 冲突,我决定不安装 libxul-dev 。于是,就执行以下命令来安装 mono-2.6:

$ 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

$ wget http://patrick.qmtech.net/downloads/mono_parallel.sh

$ . mono_parallel.sh

经过漫长的等待,终于安装好了 mono 2.6:

[email protected]:~$ cat /usr/local/bin/mono-2.6
#!/bin/bash
MONO_PREFIX=/opt/mono-2.6
GNOME_PREFIX=/opt/gnome
export DYLD_LIBRARY_PATH=/opt/mono-2.6/lib:
export LD_LIBRARY_PATH=/opt/mono-2.6/lib:
export C_INCLUDE_PATH=/opt/mono-2.6/include:/include
export ACLOCAL_PATH=/opt/mono-2.6/share/aclocal
export PKG_CONFIG_PATH=/opt/mono-2.6/lib/pkgconfig:/lib/pkgconfig
PATH=/opt/mono-2.6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

exec "[email protected]"
[email protected]:~$
[email protected]:~$ mono-2.6 mono --version
Mono JIT compiler version 2.6.1 (/branches/mono-2-6/mono r148738 2009年 12月 18日 星期五 09:50:50 CST)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
	TLS:           __thread
	GC:            Included Boehm (with typed GC and Parallel Mark)
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
[email protected]:~$
[email protected]:~$ du -hs mono-src /opt/mono-2.6
1.4G	mono-src
134M	/opt/mono-2.6
[email protected]:~$

从上面可以看到,mono 2.6 的源程序占用 1.4GB 的磁盘空间,mono 2.6 目标程序占用 134MB 的磁盘空间。实际上,安装完成后,mono 2.6 的源程序就可以使用 rm -rf mono-src 命令删除了。

附:mono_parallel.sh :


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

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

#!/bin/bash

#

#
Version 0.1

#
This script is to install a parallel mono environment with ease

#
It only checks out/installs mono 2.6 branch on Ubuntu 9.10 atm

#

#
Copyright 2009 (c) QMTech Ltd (http://www.qmtech.net)

#
Authors: Patrick McEvoy (firegrass) [email protected]

#
This is free script under GNU GPL version 3.

#
config

#
TODO: Allow opt or home install option (hence sudo/no sudo)

#
TODO: Allow have 2.6 or trunk

VERSION=2.6

MONO_PREFIX=/opt/mono-$VERSION

#GNOME_PREFIX=/opt/gnome-2.6

WORKING_DIR=~/mono-src/mono-$VERSION

#
TODO: webserver/server/workstation (+mod_mono,-gnome,-mono-tools/-gnome,-mono-tools/-mod_mono)

MODE=server

#
TODO: Option to hide all output

DEBUG=

#1>&2

echo "MI:
This script will download/checkout mono and install in a parallel environment."

echo "MI:
Report bugs to [email protected], firegrass on twitter, carrier pidgeon etc"

#

if [
$MODE =
"workstation" ]
&& [
"$(id
-u)"
 =
"0" ];
then

    echo "MI
ERROR: This script should not be run as root"
 1>&2

    exit 1

fi

echo "MI:
Installing mono version $VERSION, building in $WORKING_DIR"

echo "MI:
I need sudo access to install mono to /opt and mono-$VERSION in /usr/local/bin"

sudo echo "MI:
If the sudo time limit is reached you will need to enter you password again."

#
making a dir to work from

mkdir -p
$WORKING_DIR

cd $WORKING_DIR

#
svn checkouts

SVN_BASE=http://anonsvn.mono-project.com/source/branches/mono-2-6

#
modules - hardcoded to branch 2.6

SVN_MODULES="libgdiplus
mono mcs mono-tools mod_mono xsp"

for mod
in $SVN_MODULES;
do

    if [
-d $mod ];
then

        echo "MI:
Updating $mod"

        svn
up -q $mod || {
echo "MI
ERROR: Updating $mod failed"
;
exit 1;
}

    else

        echo "MI:
Checking out $mod ($SVN_BASE/$mod)"

        svn
co -q $SVN_BASE/$mod || {
echo "MI
ERROR: Checking out $mod failed"
;
exit 1;
}

    fi

done

#
create enviroment files

cat >
"mono-$VERSION-environment" <<EOF

#!/bin/bash

MONO_PREFIX=$MONO_PREFIX

GNOME_PREFIX=/opt/gnome

export DYLD_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_PATH

export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH

export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include

export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal

export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig

PATH=$MONO_PREFIX/bin:$PATH

PS1="[mono]
\w @ "

EOF

cat >
"mono-$VERSION" <<EOF

#!/bin/bash

MONO_PREFIX=$MONO_PREFIX

GNOME_PREFIX=/opt/gnome

export DYLD_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_PATH

export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH

export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include

export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal

export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig

PATH=$MONO_PREFIX/bin:$PATH

exec "\[email protected]"

EOF

#
install environemnt

chmod +x
mono-$VERSION-environment mono-$VERSION

sudo mv mono-$VERSION-environment
/usr/local/bin/mono-$VERSION-environment

sudo mv mono-$VERSION
/usr/local/bin/mono-$VERSION

#
using new environment

.
mono-$VERSION-environment

#
configure, make, install

for mod
in $SVN_MODULES;
do

    if [
$mod =
"mcs" ];
then

        #
Ignore mcs as built from mono

        echo "MI:
Skiping mcs module"

    elif [
$MODE =
"server" ]
&& [ $mod =
"mono-tools" ];
then

        echo "MI:
Skipping mono-tools (server install)"

    elif [
$MODE =
"server" ]
&& [ $mod =
"mod_mono" ];
then

        echo "MI:
Skipping mono-tools (server install)"

    else

        echo "MI:
Installing $mod"

        cd $mod

        ./autogen.sh
--prefix=$MONO_PREFIX $DEBUG && \

        make $DEBUG
&& \

        sudo make install $DEBUG
|| {
echo "MI
ERROR: $mod failed"
;
exit 1;
}

        cd ..

    fi

done

#
Exit message

echo "Your
parallel environment is installed"

echo "To
start a mono-$VERSION environment, run: source mono-$VERSION-environment"

echo "To
use mono-$VERSION to run a cli app, run: mono-$VERSION <your app> (eg mono-$VERSION mono -V)"

版权声明:本文为博主http://www.zuiniusn.com原创文章,未经博主允许不得转载。

时间: 2024-08-28 03:32:45

在 Ubuntu 9.10 操作系统中安装 mono 2.6的相关文章

在 Ubuntu 9.10 操作系统中安装 MonoDevelop 2.2

我们知道,在 Ubuntu 9.10 操作系统中可以使用以下命令来安装 MonoDevelop 2.0: $ sudo apt-get install monodevelop 但是,如果我们需要安装最新的 MonoDevelop 2.2 版本的话,可以按照以下步骤从源代码进行编译: [email protected]:~$ cd src [email protected]:~/src$ svn co svn://anonsvn.mono-project.com/source/trunk/mono

在 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 就可以共存了. 准备工作 先准备一下编译环境,使用如下的命令来安装: [email protected]:~$ sud

在 Ubuntu 14.10 Server 上安装 Jetty

Jetty提供了一个Web服务器和javax.servlet容器,为SPDY.WebSocket.OSGi.JMX.JNDI.JAAS以及许多其它集成套件添加了支持.这些组件都是开源的,也可用于商业用途和分发. Jetty被广泛用于多种项目和产品,都可以在开发环境和生产环境中使用.Jetty可以很容易地嵌入到设备.工具.框架.应用服务器以及集群中.更多用途可参见Jetty网页.ubuntu 14.10 server上安装Jetty 9 sudo apt-get install openjdk-8

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相)

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相) 2014-08-23 21:37 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 在安装Xcode前,我们先了解下Mac下如何卸载U盘!在VM9下,同一时间内,一个物理设备只能由一个系统去独占,无论是物理机还是虚拟机.我们可以了解一下虚拟机加载U盘的规则:    1.在虚拟机中加载U盘时,会自动将U盘从Wind

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装XE6的PAServer(有图有真相) 2014-08-22 21:06 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 在安装PAServer前,我们先配置一下MAC的IP,给定一个固定的内网IP,以便我们的XE6能更好地连接它!------------------------------------------------------------

Maven(一)——如何在Windows操作系统中安装配置Maven环境

今天难得的周末,借此难的机会总结一下关于maven的一些操作: 1.在安装maven之前要确认计算机已经安装并配置了JDK: 2.下载maven: maven-3.0.3:http://download.csdn.net/detail/wangshuxuncom/7367413 maven-3.0.5:http://download.csdn.net/detail/wangshuxuncom/7551799 说明:上述资源均免费下载 这里选择maven-3.0.3来演示安装.将maven-3.0

Git—怎样Windows操作系统中安装Git

介绍一下怎样在Windows操作系统中安装Git: 一.下载Git安装压缩文件:http://download.csdn.net/detail/wangshuxuncom/8035045 二.解压该压缩文件,根据里面Word文档说明进行安装就可以.

memcached—如何在Windows操作系统中安装、启动和卸载memcached

下班了,今天总结一下如何在Windows操作系统中安装.启动和卸载memcached: 1.下载相关软件: 下载地址:http://download.csdn.net/download/wangshuxuncom/8249501: 2.解压获取到的压缩文件,将得到一个名为"memcached-1.2.6-win32-bin"的文件夹,将该文件夹拷贝到自认为适当的位置(比如拷贝到C盘根目录): 3.通过cmd命令进入Windows的命令行模式,输入如下命令"cd /d C:\m

Git————如何Windows操作系统中安装Git

介绍一下如何在Windows操作系统中安装Git: 一.下载Git安装压缩文件:http://download.csdn.net/detail/wangshuxuncom/8035045 二.解压该压缩文件,依据里面Word文档说明进行安装即可.