之是以用源碼編譯的方式安裝mono和monodevelop,是因為通過yum安裝的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程。
而且通過源碼安裝,可以進一步了解mono的各個項目之間的關系。
我用的Fedora16系統
下載下傳mono的最新源碼,github上的源碼編譯時總是報找不到 gmcs.exe的錯誤。
我下的是mono-2.11.3版
需要注意的是用root使用者來安裝,否則有錯誤。
monodevelop的源碼編譯安裝相當曲折,搞了好幾天。
有幾點需要注意:
在monodevelop的官網上下最新源碼,否則在./configure時會有找不到檔案的錯。
在安裝monodevelop之前,要先安裝一些依賴的包。(mono-addins,gtk-sharp,libglade2,gnome-sharp-2.0)
安裝完後,需要設定LD_LIBRARY_PATH這個環境變量
用root使用者來安裝
安裝monodevelop之前,按順序安裝一些依賴包:
(gtk-sharp --> mono-addins --> libglade2--> gnome-sharp-2.0)
這些包在安裝時也會遇到各種問題,下面是我安裝時遇到的各種問題及解決方法,供參考。
以上的安裝順序是我總結出來的,沒有試驗過。
我安裝時并不知道上面的安裝順序,是直接安裝monodevelop,然後遇到問題再解決的。我的安裝順序如下:
1) 和mono同樣的網址下載下傳monodevelop的最新代碼。
此時報了一個錯誤如下:找不到 UNMANAGED_DEPENDENCIES_MONO
通過以下指令修複此錯誤:
再次執行:
此時報了一個錯誤如下:找不到 mono-addins
下載下傳mono-addins并安裝,
此時報了一個錯誤如下:找不到 gtk-sharp-2.0
下載下傳gtk-sharp并安裝,
gtk-sharp安裝成功後,接着安裝mono-addins
mono-addins安裝成功後,接着安裝monodevelop
此時報了一個錯誤如下:找不到 glade-sharp-2.0
我不知道glade-sharp是什麼包,先安裝了libgdiplus
下載下傳libgdiplus并安裝,
make時報了一個錯誤如下:
解決辦法如下:
1. 運作./configure --prefix=/usr/local 之後,編輯 tests/Makefile 檔案
2. 在Makefile檔案130行位置,将 LIBS = -lpthread -lfontconfig
改為 LIBS = -lpthread -lfontconfig -lglib-2.0 -lX11
3. 再次運作 make 即可
接着安裝monodevelop
仍然是錯誤:找不到 glade-sharp-2.0
利用yum 安裝libglade2-devel,mono源碼中沒找到這個包
知道這個包的名稱,也可以找相應的rpm來安裝。
安裝完libglade2後,重新安裝 gtk-sharp2,安裝方法上面已有。
接着,再次嘗試安裝 monodevelop:
此時報了一個錯誤如下:未安裝gnome-sharp-2.0
下載下傳 gnome-sharp-2.0 并安裝
雖然沒有報錯,但是提示缺少3個assmely: art-sharp.dll,gnomevfs-sharp.dll,gnome-sharp.dll
下面的兩個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 後,報出如下錯誤:
經過調查,
1. 原來是gnome-sharp版本太舊的原因,
前面用的gnome-sharp-2.20.*用了Mono.GetOptions,更新至gnome-sharp-2.24.*
2. 注釋掉gnome-sharp-2.24.1/sample/gnomevfs/Makefile中關于 Mono.GetOptions的内容
此時會産生一些找不到 tests/UnitTests/Makefile.in 之類的錯誤。
經過調查,似乎是monodevelop 版本的問題,在monodevelop官網上下載下傳最新的代碼,
然後重新安裝,終于安裝成功。官網上最新版是3.0.3.4
安裝完後,monodevep卻無法啟動,錯誤如下:
将LD_LIBRARY_PATH加入到啟動的配置檔案中,即 ~/.bashrc
内容如下:
終于啟動成功,也有 aspnet-mvc3的工程了 ^_^
記錄下安裝過程的錯誤,也是友善以後遇到相同的錯誤可以知道怎麼解決。
大家在安裝過程中如果有什麼新的問題,歡迎交流。
本文轉自wang_yb部落格園部落格,原文連結:http://www.cnblogs.com/wang_yb/archive/2012/07/29/2613844.html,如需轉載請自行聯系原作者