Mono和MonoDevelop源码编译安装(4)

下面的两个dll对应如下库:(我是通过 yum找到的)
art-sharp.dll             : libart_lgpl-devel
gnomevfs-sharp.dll: gnome-vfs2-devel
最后一个根据上面的提示,(对应如下库)
gnome-sharp.dll   : libgnomecanvas, libgnome,
            libgnomeui, libgnomeprint, libgnomeprintui, and
            libpanelapplet(即gnome-panel-devel)

# make

make 后,报出如下错误:

====================================================================error CS0006: Metadata file `Mono.GetOptions.dll' could not be found====================================================================

经过调查,
1.  原来是gnome-sharp版本太旧的原因,
    前面用的gnome-sharp-2.20.*用了Mono.GetOptions,更新至gnome-sharp-2.24.*
2.  注释掉gnome-sharp-2.24.1/sample/gnomevfs/Makefile中关于 Mono.GetOptions的内容

下载地址:

# tar jxvf gnome-sharp-2.24.1.tar.bz2 # cd gnome-sharp-2.24.0 # ./configure --prefix=/usr/local # make # make install

接着,再次尝试安装 monodevelop:

# ./configure --prefix=`pkg-config --variable=prefix mono`

此时会产生一些找不到 tests/UnitTests/Makefile.in 之类的错误。
经过调查,似乎是monodevelop 版本的问题,在monodevelop官网上下载最新的代码,
然后重新安装,终于安装成功。官网上最新版是3.0.3.4

# tar jxvf monodevelop-3.0.3.4.tar.bz2 # cd ../monodevelop-3.0.3.4 # ./configure --prefix=`pkg-config --variable=prefix mono` # make # make install

安装完后,monodevep却无法启动,错误如下:

====================================================================System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.DllNotFoundException: libMonoPosixHelper.so at (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_ctermid () at Mono.Unix.Native.Syscall..cctor () [0x00032] in /home/wangyb/downloads/mono/mono-2.11.3/mcs/class/Mono.Posix/Mono.Unix.Native/Syscall.cs:2599 --- End of inner exception stack trace --- at MonoDevelop.Core.LoggingService.RedirectOutputToFileUnix (FilePath logDirectory, System.String logName) [0x0001f] in /home/wangyb/downloads/mono/monodevelop-3.0.3.4/src/core/MonoDevelop.Core/MonoDevelop.Core/LoggingService.cs:177 at MonoDevelop.Core.LoggingService.RedirectOutputToLogFile () [0x00046] in /home/wangyb/downloads/mono/monodevelop-3.0.3.4/src/core/MonoDevelop.Core/MonoDevelop.Core/LoggingService.cs:140 FATAL ERROR [2012-07-29 07:59:49Z]: MonoDevelop failed to start. Some of the assemblies required to run MonoDevelop (for example gtk-sharp, gnome-sharp or gtkhtml-sharp) may not be properly installed in the GAC.System.TypeInitializationException: An exception was thrown by the type initializer for Gtk.Application ---> System.DllNotFoundException: glibsharpglue-2 at (wrapper managed-to-native) GLib.Thread:glibsharp_g_thread_supported () at GLib.Thread.get_Supported () [0x00000] in <filename unknown>:0 at Gtk.Application..cctor () [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at MonoDevelop.Ide.IdeStartup.Run (MonoDevelop.Ide.MonoDevelopOptions options) [0x00085] in /home/wangyb/downloads/mono/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:95 at MonoDevelop.Ide.IdeStartup.Main (System.String[] args) [0x00058] in /home/wangyb/downloads/mono/monodevelop-3.0.3.4/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:503 ====================================================================

将LD_LIBRARY_PATH加入到启动的配置文件中,即 ~/.bashrc
内容如下:

# add mono LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/lib

终于启动成功,也有 aspnet-mvc3的工程了 ^_^

3. 总结

记录下安装过程的错误,也是方便以后遇到相同的错误可以知道怎么解决。

大家在安装过程中如果有什么新的问题,欢迎交流。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/21218.html