LINUX DOTNET      Linux DotNET 中文社区

Linux .NET编程与应用技术之专业网站:www.linuxdot.net !     返回首页    
   
[楼主] 在Ubuntu操作系统上安装mono的具体方法

当前,在Linux系统上架设ASP.NET网站、建设WEB应用工程项目已经在国内流行起来,而“Mono+Jexus”架构模式是Linux承载ASP.NET企业级应用的极为重要的架构方式,这种架构中,Jexus很好安装、配置,基本上就是一个下载、解压、复制的过程,但是,用源码安装Mono就麻烦一些,特别是才从Windows转向Linux平台的技术人员,因为对Linux极为陌生,mono安装常常是他们遇到的主要的拦路虎。
下面,我介绍一下在Linux上用源码安装Mono的方法,希望能对初学者有点帮助。
首先是Linux发行版选用的问题,我建议大家选用Ubuntu服务器版,本技术资料也是基于Ubuntu server 12.04 写的。
一、更新系统:
sudo apt-get update
sudo apt-get upgrade
二、构建编译环境:
如果你的系统是新安装的,那么你得构建一个编译环境,以便顺利完成对mono源文件的编译安装。
sudo apt-get install build-essential
sudo apt-get install automake autoconf
sudo apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev
三、安装libgdiplus、mono以及编译环境所需要的其它库文件
sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg62-dev(或libgpeg-dev)
四、源文件下载与解压:
1,下载:
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
wget http://download.mono-project.com/sources/mono/mono-3.0.12.tar.bz2
2,解压:
tar jvxf libgdiplus-2.10.tar.bz2
tar jvxf mono-3.0.12.tar.bz2
五、安装Libgdiplus和Mono:
1、安装libgdiplus
  cd libgdiplus-2.10
  ./configure --prefix=/usr
  make
  sudo make install
  cd ..
2、安装Mono
  cd mono-3.0.12
  ./configure --prefix=/usr
  make
  sudo make install
  cd ..
通过以上的步骤,Mono就安装好了,可以通过 mono -V 查看mono版本的方式验证安装是否成功。
注:Linux DotNET 中文社区网址:http://www.linuxdot.net

作者:yvnei   发布时间:12年08月25日   可选操作:删除 回复

[1楼] 回复:在Ubuntu操作系统上安装mono具体方法

您好,我刚接触mono和Jexus,想请问下第二步的里面安装的一些库文件,比如:bison libglib2.0-dev这些,是在ubuntu里面自带的,还是需要一个一个去下载的呢?

作者:竹风抚荷塘   发布时间:12年08月25日   可选操作:删除 回复

[2楼] 回复:在Ubuntu操作系统上安装mono具体方法

这些依赖库都不需要下载。
sudo apt-get install 就行了。

作者:yvnei   发布时间:12年08月25日   可选操作:删除 回复

[3楼] 回复:在Ubuntu操作系统上安装mono具体方法

好的,谢谢指导~~

作者:竹风抚荷塘   发布时间:12年08月26日   可选操作:删除 回复

[4楼] 回复:在Ubuntu操作系统上安装mono的具体方法

sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg62-dev
这步的时候报错了...

然后把相关的包一个一个加进去后,最后出来有两个包冲突的错误..

我最后将libjpeg62-dev改成了libjpeg-dev,请问楼主这么安装可以么?

作者:竹风抚荷塘   发布时间:12年08月30日   可选操作:删除 回复

[5楼] 回复:在Ubuntu操作系统上安装mono的具体方法

可以。

作者:匿名   发布时间:12年08月31日   可选操作:删除 回复

[6楼] 回复:在Ubuntu操作系统上安装mono的具体方法

感谢楼主,已经成功安装.

另外我想在这文章的基础上,在博客园弄个图文教程,请问可以不?

作者:竹风抚荷塘   发布时间:12年09月03日   可选操作:删除 回复

[7楼] 回复:在Ubuntu操作系统上安装mono的具体方法

当然可以,欢迎把你的安装使用心得写成教程!

作者:yvnei   发布时间:12年09月03日   可选操作:删除 回复

[8楼] 回复:在Ubuntu操作系统上安装mono的具体方法

写了个简单的图文安装过程,我自己就是这么安装的,希望对大家有帮助.还请继续指导啊.
http://www.cnblogs.com/PandaBamboo/archive/2012/09/05/2672566.html

作者:竹风抚荷塘   发布时间:12年09月05日   可选操作:删除 回复

[9楼] 回复:在Ubuntu操作系统上安装mono的具体方法

不错,很好的教程

作者:ebb   发布时间:12年10月11日   可选操作:删除 回复

[10楼] 回复:在Ubuntu操作系统上安装mono的具体方法

如果在ubuntu上安装默认版本的mono,那么就更简单了,一个命令就可以完成mono安装:
sudo apt-get install mono-complete
这个办法,对于某些虚拟机上的gcc编译器常常出现内部错误,无法完成源码编译的情况下,就成了唯一选择了。

作者:yunei   发布时间:13年05月30日   可选操作:删除 回复

[11楼] 回复:在Ubuntu操作系统上安装mono的具体方法

http://www.mono-project.com/Libgdiplus这个网址有看到这样一句话:
Plans
Due to it's tight relation with System.Drawing new versions of libgdiplus are released with (almost) every new version of Mono.

似乎是以后的Mono安装程序几乎都会默认加入Libgdiplus!

不知我的理解是否正确?
因为这里目前还没有Linux环境,暂无条件作验证。

而且从http://origin-download.mono-project.com/sources/libgdiplus/里来看,最新的版本也一直停留在2011年的2.10版。

作者:Mike   发布时间:13年11月27日   可选操作:删除 回复

[12楼] 回复:在Ubuntu操作系统上安装mono的具体方法

安装libgdiplus的时候提示少glib-2.0

作者:王珺   发布时间:13年12月21日   可选操作:删除 回复

[13楼] 回复:在Ubuntu操作系统上安装mono的具体方法

你忘了安装libglib2.0-dev吧

作者:匿名   发布时间:13年12月22日   可选操作:删除 回复

[14楼] 在Ubuntu编译mono时,出现找不到gmcs的问题的处理

遇上这个问题,make过程会终止,处理方法是:
1、安装低版本gmcs:
    sudo apt-get install mono-gmcs
2、重新开始 make
3、make 完成后卸载旧版gmcs:
    sudo apt-get remove mono-gmcs
4、安装新版:
    make install

作者:yunei   发布时间:13年12月26日   可选操作:删除 回复

[15楼] 回复:在Ubuntu操作系统上安装mono的具体方法

2,解压:
tar jvxf libgdiplus-2.10.tar.bz2
tar jvxf mono-3.0.12.tar.bz2

到这一步就报错,无法open文件或目录

作者:小   发布时间:14年10月14日   可选操作:删除 回复

[16楼] 回复:在Ubuntu操作系统上安装mono的具体方法

好消息以后安装ubuntu很简单了
如果是12.10以上版本的
执行下面2条命令
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
如果是小于或者等于12.10
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian wheezy-libtiff-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list

其实上面就是加包源而已.
加完以后 
apt-get update
更新完毕后
最重要的
apt-get install  mono-complete
这样子完全就搞定了 mono是最新的3.10  libgdiplus 是3.8 如此惬意再也不用那么麻烦了

作者:小白   发布时间:14年12月20日   可选操作:删除 回复

[17楼] 回复:在Ubuntu操作系统上安装mono的具体方法

ubuntu 12
可以执行aspx  但是不能执行asmx文件(web service)
Application Exception
System.Web.HttpException
Type WebApplication1.WebService1 not found.

Description: HTTP 500.Error processing request.

Details: Error processing request.
Exception stack trace:
at System.Web.UI.SimpleWebHandlerParser.GetTypeFromBin (System.String tname) [0x00000] in <filename unknown>:0 at System.Web.Compilation.SimpleBuildProvider.LoadTypeFromBin (System.Web.Compilation.BaseCompiler compiler, System.Web.UI.SimpleWebHandlerParser parser) [0x00000] in <filename unknown>:0 at System.Web.Compilation.GenericBuildProvider`1[System.Web.UI.SimpleWebHandlerParser].GetGeneratedType (System.CodeDom.Compiler.CompilerResults results) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManagerCacheItem..ctor (System.Reflection.Assembly assembly, System.Web.Compilation.BuildProvider bp, System.CodeDom.Compiler.CompilerResults results) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.StoreInCache (System.Web.Compilation.BuildProvider bp, System.Reflection.Assembly compiledAssembly, System.CodeDom.Compiler.CompilerResults results) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.GenerateAssembly (System.Web.Compilation.AssemblyBuilder abuilder, System.Web.Compilation.BuildProviderGroup group, System.Web.VirtualPath vp, Boolean debug) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.BuildInner (System.Web.VirtualPath vp, Boolean debug) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.Build (System.Web.VirtualPath vp) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.GetCompiledType (System.Web.VirtualPath virtualPath) [0x00000] in <filename unknown>:0 at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00000] in <filename unknown>:0 at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler (System.Web.HttpContext context, System.String verb, System.String url, System.String filePath) [0x00000] in <filename unknown>:0 at System.Web.Script.Services.ScriptHandlerFactory.GetHandler (System.Web.HttpContext context, System.String requestType, System.String url, System.String pathTranslated) [0x00000] in <filename unknown>:0 at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context, System.String url, Boolean ignoreContextHandler) [0x00000] in <filename unknown>:0 at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context, System.String url) [0x00000] in <filename unknown>:0 at System.Web.HttpApplication+<Pipeline>c__Iterator3.MoveNext () [0x00000] in <filename unknown>:0 
 
jexus(5.6.2) mono3 jdk1.6  配置 asmx 发现无法执行失败

作者:liyihongcug   发布时间:15年01月09日   可选操作:删除 回复

[18楼] 回复:在Ubuntu操作系统上安装mono的具体方法

mono跑webservice肯定行,建议楼上加入QQ群:102732979,具体问题具体处理。

作者:yunei   发布时间:15年01月09日   可选操作:删除 回复

[19楼] 回复:在Ubuntu操作系统上安装mono的具体方法

在安装高版本libgdilpus(比如 v3.12)之前的依赖项时,ubuntu需要添上 libcairo2-dev,CentOS添上 cairo-devel。

作者:yunei   发布时间:15年03月24日   可选操作:删除 回复

[20楼] 回复:在Ubuntu操作系统上安装mono的具体方法

另外ubuntu server安装libgdiplus 3.12的时候会提示缺少一个叫cairo的东西
sudo apt-get install libcairo2-dev
要装这个东东

作者:东莞-逗逼   发布时间:15年06月05日   可选操作:删除 回复

[21楼] 回复:在Ubuntu操作系统上安装mono的具体方法

还有一个。。
libgdiplus-3.12.tar.gz ,用的是tar.gz,不是tar.bz2了
解压用
tar zvxf libgdiplus-3.12.tar.gz

作者:东莞-逗逼   发布时间:15年06月05日   可选操作:删除 回复

[22楼] libgdiplus make时出现错误的解决办法

   发现在该操作系统报错了:如下

  gdiplus-private.h:33:31: fatal error: freetype/tttables.h: No such file or directory #include ^compilation terminated.make[2]: *** [adjustablearrowcap.lo] Error 1make[2]: Leaving directory `/root/libgdiplus-2.10/src‘make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/root/libgdiplus-2.10’make: *** [all] Error 2root@ubuntu:~/libgdiplus-2.10# sudo ln -s /usr/X11/include/freetype2/freetype/ /usr/X11/include/freetypeln: failed to create symbolic link ‘/usr/X11/include/freetype’: No such file or directory

  这个错误就是说创建/usr/X11/include/freetype链接失败了,因为找不到freetype

  我们打开/usr/include看有没有freetype这个目录,没有吧,但是我们找到了freetype2,这样我们做个链接吧

  ln -s /usr/include/freetype2 /usr/include/freetype

作者:崔高胜   发布时间:16年02月15日   可选操作:删除 回复

[23楼] 回复:在Ubuntu操作系统上安装mono的具体方法

安装不上报错啊libgdiplus-2.10 就报错。

作者:yangguang   发布时间:16年05月10日   可选操作:删除 回复

 
   
   

留言回复:
标题: * 标题必填
作者:   * 请填上你的名字  
操作键:   * 填入几个字母表示是您写的,便于进一步操作
发言内容:
 
发贴者须知:
1、您无需注册即可发贴,但是,贴子内容必须在法律法规和社会公德所允许的范围内;
2、本站专注IT技术,谢绝包括政治、社会、情感等任何与IT技术无关的贴子在本站发表;
3、本站保留对任何贴子进行删除、禁用、更改、举报、追究等所有权利;
 
今天是: 星期一  星期天  星期二  星期三  星期四  星期五  星期六