Build 如何强制MonoDevelop构建使用替代Mono安装?

Build 如何强制MonoDevelop构建使用替代Mono安装?,build,mono,monodevelop,Build,Mono,Monodevelop,我正在尝试在Ubuntu 12.04上构建MonoDevelop 4.0.9,它需要Mono 2.10.9或更高版本来构建。由于Ubuntu只提供Mono 2.10.8,所以我从源代码构建了Mono 2.10.9并安装到/opt/Mono-2.11中。如何强制/配置从/opt/Mono-2.11/bin而不是/usr/bin使用Mono 2.10.9 我已尝试更新$PATH,但没有帮助: /tmp/monodevelop [(monodevelop-4.0.9)]$ PATH=/opt/mono

我正在尝试在Ubuntu 12.04上构建MonoDevelop 4.0.9,它需要Mono 2.10.9或更高版本来构建。由于Ubuntu只提供Mono 2.10.8,所以我从源代码构建了Mono 2.10.9并安装到/opt/Mono-2.11中。如何强制/配置从/opt/Mono-2.11/bin而不是/usr/bin使用Mono 2.10.9

我已尝试更新
$PATH
,但没有帮助:

/tmp/monodevelop [(monodevelop-4.0.9)]$ PATH=/opt/mono-2.11/bin:$PATH
/tmp/monodevelop [(monodevelop-4.0.9)]$ ./configure

Configuring package: main
-------------------------
Configuration options:
Running aclocal  ...
Running automake --foreign  ...
Running autoconf ...
Running ./configure --enable-maintainer-mode --enable-compile-warnings --prefix=/usr/local ...
configure: WARNING: unrecognized options: --enable-compile-warnings
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for mono... /opt/mono-2.11/bin/mono
checking for gmcs... /opt/mono-2.11/bin/gmcs
checking for pkg-config... /usr/bin/pkg-config
configure: error: You need mono 2.10.9 or newer
/tmp/monodevelop [(monodevelop-4.0.9)]$
更新:我刚刚尝试使用新的Mono运行现有的MonoDevelop安装:

~$ PATH=/opt/mono-2.10.9/bin:$PATH monodevelop

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
  at MonoDevelop.Startup.MonoDevelopMain.Main (System.String[] args) [0x00000] in /build/buildd/monodevelop-latest-1345013906/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
  at MonoDevelop.Startup.MonoDevelopMain.Main (System.String[] args) [0x00000] in /build/buildd/monodevelop-latest-1345013906/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
Missing method get_IsInitialized in assembly /usr/lib/monodevelop/bin/MonoDevelop.Ide.dll, type Mono.Addins.AddinManager
这是否意味着我的Mono安装没有完成?我是否需要以某种方式构建这些缺失的程序集

更新:我已经尝试使用并创建了~/mono-dev-env(我没有更改GNOME\u前缀,因为我认为我没有安装它)。但是,在运行MonoDevelop时,我仍然会遇到一个错误:

/tmp/mono-2.10.9$ . mono-dev-env
[mono] /tmp/mono-2.10.9 @ mono --version
Mono JIT compiler version 2.10.9 (tarball Wed Jul 17 12:46:30 CEST 2013)
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            Included Boehm (with typed GC and Parallel Mark)
[mono] /tmp/mono-2.10.9 @ monodevelop

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
  at MonoDevelop.Startup.MonoDevelopMain.Main (System.String[] args) [0x00000] in /build/buildd/monodevelop-latest-1345013906/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=0.6.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
  at MonoDevelop.Startup.MonoDevelopMain.Main (System.String[] args) [0x00000] in /build/buildd/monodevelop-latest-1345013906/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
Missing method get_IsInitialized in assembly /usr/lib/monodevelop/bin/MonoDevelop.Ide.dll, type Mono.Addins.AddinManager

要确保Mono应用程序在您构建的自定义版本的Mono中运行,您应该使用。

要确保Mono应用程序在您构建的自定义版本的Mono中运行,您应该使用。

1:为什么要构建Mono 2.11而不是Mono 3.x?第二:请使用并行mono环境:@knocte:我使用2.11,因为我找到了它的自动构建脚本。。。但我可能会构建2.10.9,因为它是稳定的。将研究并行环境-同时你可以建议它作为一个答案。构建mono的脚本非常简单,不值得从任何地方“抓住”它们;他们为一个版本工作而不为另一个版本工作,这会很奇怪;Mono3.x是相当稳定的,即使它被称为beta1st:你为什么要构建Mono2.11而不是Mono3.x?第二:请使用并行mono环境:@knocte:我使用2.11,因为我找到了它的自动构建脚本。。。但我可能会构建2.10.9,因为它是稳定的。将研究并行环境-同时你可以建议它作为一个答案。构建mono的脚本非常简单,不值得从任何地方“抓住”它们;他们为一个版本工作而不为另一个版本工作,这会很奇怪;Mono3.x是相当稳定的,即使它被称为Beta为什么我需要将Gnome安装到/opt/Gnome中来构建Mono?这听起来好像有很多额外的工作要做。还是已经自动安装?在我的系统上哪里可以找到它?路径/opt/gnome不存在。但是我应该在gnome_前缀中写入什么?它在wiki页面中说什么,它不存在并不重要。为什么我需要将gnome安装到/opt/gnome中来构建Mono?这听起来好像有很多额外的工作要做。还是已经自动安装?在我的系统上哪里可以找到它?Path/opt/gnome不存在。但是我应该在gnome_前缀中写入什么呢?它在wiki页面上说什么,它不存在并不重要