Mono Compile
What is Mono?
Mono is a free and open source project led by Xamarin (formerly by Novell and originally by Ximian) to create an Ecma standard-compliant, .NET Framework-compatible set of tools including, among others, a C# compiler and a Common Language Runtime.
The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers.[3] Mono can be run on many software systems including Android, most Linux distributions, BSD, OS X, Windows, Solaris, and even some game consoles such as PlayStation 3, Wii, and Xbox 360.
More information on Wikipedia: http://en.wikipedia.org/wiki/Mono_(software)
Project Page: http://www.mono-project.com/
Compiling and Installing
The following script will compile and install the Mono Framework including the GDI+ and the Visual Basic library. Make sure your Linux is up to date before compiling.
As of 2016-01-26 it will compile Mono v4.3.3 or newer.
The Mono compilation script has been tested on the following Linux distributions:
- Rasbian (Rasberry Pi)
- Debian Wheezy 07-01-2014
- Tested on 2014-04-27
- Will not compile mono-basic.
- Debian Wheezy 07-01-2014
- Ubuntu
- 12.04.4 LTS
- Tested on 2014-04-27
- 14.04 LTS
- Tested on 2014-04-27
- 12.04.4 LTS
- Debian
- 7
- Tested on 2015-03-29
- Will not compile libgdiplus.
- For Windows Forms support extra libraries are required:
-
1apt-get install mono-winforms*
- 7
1 2 3 4 5 6 7 8 9 10 |
Mono JIT compiler version 4.3.3 (master/44e2c53 Mon 25 Jan 22:43:16 CET 2016) Copyright (C) 2002-2014 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: sgen |
Download
Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
#!/bin/bash # NuGardt Mono 4.3.x Install Script # Copyright (C) 2014-2016 NuGardt Software UG (haftungsbeschränkt) # https://www.nugardt.com # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Version: v1.0.0.3 # Date: 2016-01-26 # Author: Kevin Gardthausen # History # v1.0.0.3 # Added libtool-bin # v1.0.0.2 # Added pkg-config # v1.0.0.1 # Added libcairo2-dev for 3.7.x+ builds # v1.0.0.0 # Public Release # Install all necessary packages # Build Tools apt-get install make g++ autoconf libtool libtool-bin gettext automake pkg-config git -y #Required for GDI+ apt-get install libglib2.0-dev libpng-dev libjpeg-dev libgif-dev libtiff-dev libX11-dev libfontconfig1-dev libfreetype6-dev libexif-dev libcairo2-dev -y # Used for first time compile UseMonoLite=false # Checkout the Mono repository if not already done so if [ ! -d "mono" ]; then git clone git://github.com/mono/mono.git UseMonoLite=true fi # Checkout the GDI+ Library if not already done so if [ ! -d "libgdiplus" ]; then git clone git://github.com/mono/libgdiplus.git fi # Checkout the Visual Basic Library if not already done so if [ ! -d "mono-basic" ]; then git clone git://github.com/mono/mono-basic.git fi # Compile Mono cd mono/ git reset --hard git pull --rebase make clean ./autogen.sh --prefix=/usr/local if [ "$UseMonoLite" == "true" ]; then # Need Mono Lite when compiling for the first time to get MCS make get-monolite-latest make EXTERNAL_MCS=${PWD}/mcs/class/lib/monolite/basic.exe else make fi make install cd .. # Compile GDI+ Library cd libgdiplus/ git reset --hard git pull --rebase make clean ./autogen.sh --prefix=/usr/local make make install cd .. # Compile Visual Basic Library cd mono-basic/ git reset --hard git pull --rebase make clean ./configure --prefix=/usr/local make make install cd .. # Update links ldconfig # Show version mono --version echo Done! |
Leave a Reply
You must be logged in to post a comment.