在Ubuntu上编译mono-2.6(或更高版本)

本文关键字:高版本 版本 Ubuntu 编译 mono-2 | 更新日期: 2023-09-27 18:02:57

我不得不从源代码构建mono,因为来自badgerports的Ubuntu包已经过时了(不支持。net 4.0)

这是我目前所做的(主要是遵循这里的说明):

  1. 克隆单git库
  2. 切换到分支标记2.6 (git checkout mono-2-6)
  3. 在我的机器上安装了最小单声道,所以机器上可以使用单声道和mcs
  4. run ./autogen.sh——prefix=/usr/local
  5. 运行make

几个模块编译正确后,我得到这个错误:

make[4]: Entering directory `/home/oompah/work/dev/mono/mono/mini'
CC  mini.lo
CC  liveness.lo
liveness.c: In function ‘mono_liveness_handle_exception_clauses’:
liveness.c:137: error: ‘MonoCompile’ has no member named ‘header’
make[4]: *** [liveness.lo] Error 1
make[4]: Leaving directory `/home/oompah/work/dev/mono/mono/mini'
make[3]: *** [all] Error 2

我已经查看了违规代码,确实有一个头成员正在被访问…

void
mono_liveness_handle_exception_clauses (MonoCompile *cfg)
{
        MonoBasicBlock *bb;
        GSList *visited = NULL;
        MonoMethodHeader *header = cfg->header;
        ...
}
有人在Ubuntu上构建mono-2.6(或更高版本)吗?

在Ubuntu上编译mono-2.6(或更高版本)

我已经使用integratedwebsystems提供的脚本成功地在我的系统上编译了一个最新版本的mono,并运行了。net 4.0应用程序。

脚本的改进版本可以在firegrass的github帐户中找到

Joe Shields正在打包Mono 2.10,并将所有内容默认为Ubuntu的。net 4.0,你可能想在twitter上戳他一下@directhex。