Difference between revisions of "Building mono from source"

From LSDevLinux
Jump to: navigation, search
(added section Dependencies)
(Get, patch, build, install mono: Include note about binfmt)
Line 4: Line 4:
 
Unpack [http://linux.lsdev.sil.org/downloads/mono/from-source/checkout-and-build.tgz this tarball] in a directory somewhere and run <code>./checkout-and-build.sh</code>. This will also install mono into <code>/usr/local</code>.
 
Unpack [http://linux.lsdev.sil.org/downloads/mono/from-source/checkout-and-build.tgz this tarball] in a directory somewhere and run <code>./checkout-and-build.sh</code>. This will also install mono into <code>/usr/local</code>.
  
To ensure the use of this version of mono when you run applications, either put <code>/usr/local/bin</code> into your PATH or (better) use <code>/usr/local/bin/mono ''application.exe''</code> whenever you run an application.
+
To ensure the use of this version of mono when you run applications, put <code>/usr/local/bin</code> into your PATH or (better) use <code>/usr/local/bin/mono ''application.exe''</code> whenever you run an application. Note that the binfmt system that allows you to execute interpreted programs without specifying the interpreter on the command line (eg by typing just <code>TE.exe</code>) will still use <code>/usr/bin/mono</code> unless you reconfigure it.
  
 
Running this script twice will not re-download all the mono source code, but it will reinstall mono.
 
Running this script twice will not re-download all the mono source code, but it will reinstall mono.

Revision as of 17:07, 14 May 2009

Dependencies

$ sudo apt-get install bison mono-devel

Get, patch, build, install mono

Unpack this tarball in a directory somewhere and run ./checkout-and-build.sh. This will also install mono into /usr/local.

To ensure the use of this version of mono when you run applications, put /usr/local/bin into your PATH or (better) use /usr/local/bin/mono application.exe whenever you run an application. Note that the binfmt system that allows you to execute interpreted programs without specifying the interpreter on the command line (eg by typing just TE.exe) will still use /usr/bin/mono unless you reconfigure it.

Running this script twice will not re-download all the mono source code, but it will reinstall mono.

Note: the script uses the “sparse checkout” feature of Subversion to create a single top-level directory that can be updated with a single svn up, eg when updating to a new revision. You can add further directories using svn up directory, eg svn up monodevelop. However, you will need to specify the revision number explicitly with -rnumber if you want this directory to be compatible with the existing directories. You can find out the revision number of your existing directories using svn info.