I am trying to build MonoDevelop 4.0.9 on Ubuntu 12.04, which needs Mono 2.10.9 or later to build. Since Ubuntu only provides Mono 2.10.8, I've built Mono 2.10.9 from sources and installed into /opt/mono-2.11. How do I force ./configure to use Mono 2.10.9 from /opt/mono-2.11/bin instead of /usr/bin?
I've tried updating $PATH
, but it didn't help:
/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)]$
UPDATE: I've just tried running an existing MonoDevelop installation using new Mono:
~$ 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
Does this mean that my Mono installation is not complete? Do I need to build these missing assemblies somehow?
UPDATE: I've tried using Parallel Mono Environments and created the ~/mono-dev-env (I didn't change GNOME_PREFIX, because I don't think I have it installed). However I still get an error when running 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环境 。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.