如何强制MonoDevelop的建设使用替代单安装? [英] How to force MonoDevelop build to use alternative Mono installation?

查看:497
本文介绍了如何强制MonoDevelop的建设使用替代单安装?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想建立的MonoDevelop 4.0.9在Ubuntu 12.04,需要单声道2.10.9或更高版本来构建。由于Ubuntu的只提供单声道2.10.8,我已经从来源内置单声道2.10.9并将其安装到/opt/mono-2.11。如何强制的./configure使用单声道2.10.9从/opt/mono-2.11/bin代替的/ usr / bin中?

我试着更新 $ PATH ,但它并没有帮助:

 的/ tmp / MonoDevelop的[(MonoDevelop的-4.0.9)] $ PATH = /选择/单2.11 /斌:$ PATH
的/ tmp / MonoDevelop的[(MonoDevelop的-4.0.9)$的./configure配置包:主要
-------------------------
配置选项:
运行aclocal会...
运行automake的--foreign ...
运行autoconf的...
运行./configure --enable-维护模式--enable-编译警告 - preFIX =的/ usr /本地...
配置:警告:无法识别的选项:--enable-编译警告
检查一个BSD兼容安装...在/ usr /斌/安装-c
检查编译环境是否健全......是的
检查一个线程安全的mkdir -p ... /斌/的mkdir -p
检查GAWK ... GAWK
检查是否化妆套$(MAKE)......是的
检查如何创建USTAR tar归档... gnutar
检查是否启用生成文件的具体维护者,部分......是的
检查单...... /opt/mono-2.11/bin/mono
检查的GMC ... /opt/mono-2.11/bin/gmcs
检查pkg配置...的/ usr / bin中/ pkg配置
配置:错误:你需要单声道2.10.9或更高版本
的/ tmp / MonoDevelop的[(MonoDevelop的-4.0.9)] $

更新:我只是尝试使用新的单声道运行的现有安装的MonoDevelop:

 〜$ PATH = /选择/单2.10.9 /斌:$ PATH的MonoDevelop未处理的异常:
System.IO.FileNotFoundException:未能加载文件或程序集Mono.Addins,版本= 0.6.0.0,文化=中性公钥= 0738eb9f132ed756'或它的一个依赖。
文件名:'Mono.Addins,版本= 0.6.0.0,文化=中性公钥= 0738eb9f132ed756
  在MonoDevelop.Startup.MonoDevelopMain.Main(System.String []参数)[0x00000]中/build/buildd/monodevelop-latest-1345013906/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
[错误] FATAL未处理的异常:System.IO.FileNotFoundException:未能加载文件或程序集Mono.Addins,版本= 0.6.0.0,文化=中性公钥= 0738eb9f132ed756'或它的一个依赖。
文件名:'Mono.Addins,版本= 0.6.0.0,文化=中性公钥= 0738eb9f132ed756
  在MonoDevelop.Startup.MonoDevelopMain.Main(System.String []参数)[0x00000]中/build/buildd/monodevelop-latest-1345013906/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
缺少方法汇​​编/usr/lib/monodevelop/bin/MonoDevelop.Ide.dll get_IsInitialized,类型Mono.Addins.AddinManager

这是不是意味着我的单声道安装不完整?我需要以某种方式构建这些缺失的组件?

更新:我一直使用接单声道环境并尝试创建〜/单DEV-ENV(我没有改变GNOME_ preFIX,因为我不认为我有它安装)。不过,我在运行时的MonoDevelop仍然得到一个错误:

  /tmp/mono-2.10.9$。单DEV-ENV
[单] /tmp/mono-2.10.9 @单--version
单JIT编译器版本2.10.9(压缩包周三7月17日十二点46分30秒CEST 2013)
版权所有(C)二零零二年至2011年Novell公司,公司,Xamarin,公司和贡献者。 www.mono-project.com
        TLS:__thread
        SIGSEGV:altstack
        声明:epoll的
        硬件架构:
        禁用:无
        其他:softdebug
        LLVM:支持未启用。
        GC:包括伯姆(与类型化的GC和并行标记)
[单] /tmp/mono-2.10.9 @ MonoDevelop的未处理的异常:System.IO.FileNotFoundException:未能加载文件或程序集Mono.Addins,版本= 0.6.0.0,文化=中性公钥= 0738eb9f132ed756'或它的一个依赖。
文件名:'Mono.Addins,版本= 0.6.0.0,文化=中性公钥= 0738eb9f132ed756
  在MonoDevelop.Startup.MonoDevelopMain.Main(System.String []参数)[0x00000]中/build/buildd/monodevelop-latest-1345013906/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
[错误] FATAL未处理的异常:System.IO.FileNotFoundException:未能加载文件或程序集Mono.Addins,版本= 0.6.0.0,文化=中性公钥= 0738eb9f132ed756'或它的一个依赖。
文件名:'Mono.Addins,版本= 0.6.0.0,文化=中性公钥= 0738eb9f132ed756
  在MonoDevelop.Startup.MonoDevelopMain.Main(System.String []参数)[0x00000]中/build/buildd/monodevelop-latest-1345013906/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
缺少方法汇​​编/usr/lib/monodevelop/bin/MonoDevelop.Ide.dll get_IsInitialized,类型Mono.Addins.AddinManager


解决方案

要确保一个单应用单定制版,你已经建立内运行,你应该使用的平行单环境

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

解决方案

To make sure a Mono app runs within the custom version of Mono that you have built, you should use a parallel mono environment.

这篇关于如何强制MonoDevelop的建设使用替代单安装?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆