ubuntu13.10編譯安裝mono環(huán)境(一)
更新時間:2014年07月17日 16:31:25 投稿:hebedich
Mono是一個自由開放源代碼項目。該項目的目標是創(chuàng)建一系列符合ECMA標準的.NET工具,包括C#編譯器和通用語言架構。Mono項目不僅可以運行于Windows系統(tǒng)上,還可以運行于Linux,F(xiàn)reeBSD,Unix,OS X和Solaris,甚至一些游戲平臺,例如:Playstation 3,Wii或XBox 360。
準備工作
一個全新安裝的ubuntu13.10系統(tǒng)
下載Mono源代碼并編譯
nike@NIKE-PC:~$ ls Desktop Downloads Music Public Videos Documents examples.desktop Pictures Templates nike@NIKE-PC:~$ mkdir src nike@NIKE-PC:~$ cd src nike@NIKE-PC:~/src$ wget http://download.mono-project.com/sources/mono/mono-3.2.8.tar.bz2 --2014-03-27 21:24:30-- http://download.mono-project.com/sources/mono/mono-3.2.8.tar.bz2 Resolving download.mono-project.com (download.mono-project.com)... 54.240.168.102, 54.230.156.158, 54.230.157.116, ... Connecting to download.mono-project.com (download.mono-project.com)|54.240.168.102|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 77515552 (74M) [application/x-bzip2] Saving to: ‘mono-3.2.8.tar.bz2' 100%[======================================>] 77,515,552 189K/s in 10m 50s nike@NIKE-PC:~/src$ ls mono-3.2.8.tar.bz2 nike@NIKE-PC:~/src$ tar -xjf mono-3.2.8.tar.bz2 nike@NIKE-PC:~/src$ cd mono-3.2.8/ nike@NIKE-PC:~/src/mono-3.2.8$ ./configure --prefix=/opt/mono-3.2.8 checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu 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... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking how to create a ustar tar archive... gnutar checking whether to enable maintainer-specific portions of Makefiles... no checking whether ln -s works... yes checking whether make supports nested variables... yes checking host platform characteristics... ok checking for gcc... gcc checking for gcc... (cached) gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... no checking whether we are using the GNU C++ compiler... no checking whether g++ accepts -g... no checking dependency style of g++... none checking dependency style of gcc... gcc3 checking for gawk... (cached) mawk checking whether gcc and cc understand -c and -o together... yes configure: error: You need to install g++
因為沒有安裝g++而無法繼續(xù):
nike@NIKE-PC:~/src/mono-3.2.8$ sudo apt-get install g++ [sudo] password for nike: Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: cpp-4.8 g++-4.8 gcc-4.8 gcc-4.8-base libasan0 libatomic1 libgcc-4.8-dev libgcc1 libgomp1 libitm1 libquadmath0 libstdc++-4.8-dev libstdc++6 Suggested packages: gcc-4.8-locales g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg gcc-4.8-multilib libmudflap0-4.8-dev libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan0-dbg libtsan0-dbg libbacktrace1-dbg libquadmath0-dbg libmudflap0-dbg libstdc++-4.8-doc The following NEW packages will be installed: g++ g++-4.8 libstdc++-4.8-dev The following packages will be upgraded: cpp-4.8 gcc-4.8 gcc-4.8-base libasan0 libatomic1 libgcc-4.8-dev libgcc1 libgomp1 libitm1 libquadmath0 libstdc++6 11 upgraded, 3 newly installed, 0 to remove and 275 not upgraded. Need to get 25.9 MB of archives. After this operation, 28.2 MB of additional disk space will be used. Do you want to continue [Y/n]? ==============>省略了很多<==============
重新初始化mono安裝配置文件:
nike@NIKE-PC:~/src/mono-3.2.8$ ./configure --prefix=/opt/mono-3.2.8 ==============>省略了很多<============== Engine: GC: sgen and bundled Boehm GC with typed GC and parallel mark TLS: __thread SIGALTSTACK: yes Engine: Building and using the JIT oprofile: no BigArrays: no DTrace: no LLVM Back End: no (dynamically loaded: no) Libraries: .NET 2.0/3.5: yes .NET 4.0: yes .NET 4.5: yes MonoDroid: no MonoTouch: no JNI support: IKVM Native libgdiplus: assumed to be installed zlib: nike@NIKE-PC:~/src/mono-3.2.8$
./configure通過。
編譯Mono源代碼
nike@NIKE-PC:~/src/mono-3.2.8$ make ==============>漫長的編譯~<============== nike@NIKE-PC:~/src/mono-3.2.8$ sudo make install ==============>省略了很多<==============
安裝成功。
設置PATH環(huán)境變量
nike@NIKE-PC:~/src/mono-3.2.8$ cd ~ nike@NIKE-PC:~$ vim .bashrc
在該文件末尾追加以下語句:
if [ -d /opt/mono-3.2.8/bin ]; then export PATH=/opt/mono-3.2.8/bin:$PATH fi
然后:
nike@NIKE-PC:~$ . .bashrc nike@NIKE-PC:~$ echo $PATH /opt/mono-3.2.8/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games nike@NIKE-PC:~$
驗證Mono是否安裝正確
nike@NIKE-PC:~$ mono --version Mono JIT compiler version 3.2.8 (tarball 2014年 03月 27日 星期四 21:55:30 CST) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: x86 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen nike@NIKE-PC:~$ dmcs --version Mono C# compiler version 3.2.8.0 nike@NIKE-PC:~$
安裝成功。
相關文章
Linux刪除文件提示Operation not permitted的處理辦法
今天小編就為大家分享一篇關于Linux刪除文件提示Operation not permitted的處理辦法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03Centos 64位安裝aapt、jdk、tomcat的詳細教程
這篇文章主要介紹了Centos 64位安裝aapt、jdk、tomcat的相關資料,需要的朋友可以參考下2016-11-11CentOS 5.11服務器安裝配置LAMP服務器(Apache+PHP5+MySQL)
這篇文章主要介紹了CentOS 5.11服務器安裝配置LAMP服務器(Apache+PHP5+MySQL),需要的朋友可以參考下2016-10-10linux注釋crontab文件及crontab執(zhí)行sh的坑記錄
這篇文章主要介紹了linux注釋crontab文件及crontab執(zhí)行sh的坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04ubuntu20.04設置靜態(tài)ip地址(包括不同版本)
這篇文章主要介紹了ubuntu20.04設置靜態(tài)ip地址,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06