[Mono-dev] Compiling mono? I give up [not proceeding] - if anything obvious i'm doing wrong let me know
Oskar Berggren
oskar.berggren at gmail.com
Tue May 1 08:53:07 UTC 2012
2012/5/1 Rob Wilkens <robwilkens at gmail.com>:
> [apologies if duplicated - i sent from wrong account at first and don't
> think it went through]
>
> I hate trying to get other people's program's to build properly on a
> different computer than it was originally built on/for, but i gave building
> mono an honest effort before giving up. I've been trying different
Have you seen this:
http://www.mono-project.com/Parallel_Mono_Environments
It's what I've been following repeatedly with different mono versions
over the last couple of years. Building from released source tar
balls.
I think one of the key differences compared to how I understand what
you've been doing is that you should redirect the install path
completely to not mix with any directory commonly used. I.e. för Mono
2.10.8 I used
./configure --prefix=/usr/local/mono-2.10.8
Repeat the --prefix clause on every configure script in the same "set"
of packages. It will then all install neatly and not corrupt anything.
Couple that with a helper script as detailed on the page to setup the
correct environment variables, and things seems to work out rather
nicely.
Also, remember that for everything except libgdiplus and mono itself,
you need to be inside the environment created by the script in order
for the builds of the remaining packages to build against the intended
mono version.
I've attached some notes from when I last built mono 2.10, with the
configure invocations and expected output I used. At the top a list a
number of native dependencies that I was able to satisfy using regular
apt-get. I also attach the helper scripts I use to execute mono for
this environment - these two files are the only ones that go in
/usr/local/bin. After having installed libgdiplus and mono you should
be able to do:
$ mono210 mono --version
and
$ source mono210env
[mono210]$ mono --version
When that is working, you can have a look at remaining packages if you
like. Remember to do this from "inside" "source mono210env".
/Oskar
-------------- next part --------------
apt-get install
libgdiplus: libglib2.0-dev libcairo2-dev libpango1.0-dev libgif-dev libtiff4-dev libexif-dev
gtk-sharp: libatk1.0-dev libgtk2.0-dev libglade2-dev
gnome-sharp: libgnomeui-dev
2.10.8 - 2012-04-02 (for desktop)
-----------------------------------------------
LIBGDIPLUS (2.10)
$ ./configure --with-pango --prefix=/usr/local/mono-2.10.8
Configuration summary
* Installation prefix = /usr/local/mono-2.10.8
* Cairo = 1.10.0 (system)
* Text = pango
* EXIF tags = yes
* Codecs supported:
- TIFF: yes
- JPEG: yes
- GIF: yes
- PNG: yes
NOTE: if any of the above say 'no' you may install the
corresponding development packages for them, rerun
autogen.sh to include them in the build.
$ make
$ make install
MONO (2.10.8)
$ ./configure --prefix=/usr/local/mono-2.10.8 --with-libgdiplus=/usr/local/mono-2.10.8/lib/
mcs source: mcs
olive source:
Engine:
GC: sgen and bundled Boehm GC with typed GC and parallel mark
GLIB: embedded
TLS: __thread
SIGALTSTACK: yes
Engine: Building and using the JIT
oprofile: no
BigArrays: no
DTrace: no
Parallel Mark: yes
LLVM Back End: no (dynamically loaded: no)
Libraries:
Moon Profile: no (boehm)
MonoDroid: no
MonoTouch: no
JNI support: IKVM Native
libgdiplus: /usr/local/mono-2.10.8/lib/
zlib: system zlib
$ make
$ make install
The following within Mono 2.10.8 environment:
GTK-SHARP (2.12.10)
$ ./configure --prefix=/usr/local/mono-2.10.8
Configuration summary
* Installation prefix = /usr/local/mono-2.10.8
* C# compiler: /usr/local/mono-2.10.8/bin/mcs -define:GTK_SHARP_2_6 -define:GTK_SHARP_2_8 -define:GTK_SHARP_2_10 -define:GTK_SHARP_2_12
Optional assemblies included in the build:
* glade-sharp.dll: yes
* gtk-dotnet.dll: yes
* Mono.Cairo.dll: using system assembly
NOTE: if any of the above say 'no' you may install the
corresponding development packages for them, rerun
autogen.sh to include them in the build.
* Documentation build enabled: yes
$ make
$ make install
GNOME-SHARP (2.24.2)
$ ./configure --prefix=/usr/local/mono-2.10.8
Configuration summary
* Installation prefix = /usr/local/mono-2.10.8
* C# compiler: /usr/local/mono-2.10.8/bin/mcs -define:GTK_SHARP_2_6 -define:GTK_SHARP_2_8 -define:GNOME_SHARP_2_16 -define:GNOME_SHARP_2_20 -define:GNOME_SHARP_2_24
Optional assemblies included in the build:
* art-sharp.dll: yes
* gnomevfs-sharp.dll: yes
* gnome-sharp.dll: yes
NOTE: if any of the above say 'no' you may install the
corresponding development packages for them, rerun
autogen.sh to include them in the build.
gnome-sharp.dll requires libgnomecanvas, libgnome,
and libgnomeui.
$ make
$ make install
GNOME-DESKTOP-SHARP (2.24.0)
$ apt-get install librsvg2-dev
$ ./configure --prefix=/usr/local/mono-2.10.8
Configuration summary
* Installation prefix = /usr/local/mono-2.10.8
* C# compiler: /usr/local/mono-2.10.8/bin/mcs
Optional assemblies included in the build:
* gnome-panel-sharp.dll: no
* gnome-print-sharp.dll: no
* gtkhtml-sharp.dll: no
* gtksourceview2-sharp.dll: no
* nautilusburn-sharp.dll: no
* rsvg-sharp.dll: yes
* vte-sharp.dll: no
* wnck-sharp.dll: no
$ make
$ make install
MONO-TOOLS (2.10)
$ ./configure --prefix=/usr/local/mono-2.10.8
Configuration summary
* Installation prefix = /usr/local/mono-2.10.8
* Using Gecko = no
* Using GtkHtml = no
* Using Mono.WebBrowser = yes
* Using WebKit = no
NOTE: if any of the above say 'no' you may install the
corresponding development packages for them, rerun
autogen.sh to include them in the build.
$ make
$ make install
MONO-DEBUGGER (2.10)
$ ./configure --prefix=/usr/local/mono-2.10.8
$ make
$ make install
XSP (2.10.2)
$ ./configure --prefix=/usr/local/mono-2.10.8
Build Environment
Install prefix: /usr/local/mono-2.10.8
Datadir: /usr/local/mono-2.10.8/share
Libdir: /usr/local/mono-2.10.8/lib
Build documentation: yes
Mono 2.0 compiler: /usr/local/mono-2.10.8/bin/gmcs
Mono 4.0 compiler: /usr/local/mono-2.10.8/bin/dmcs
Target frameworks: .NET 2.0, .NET 4.0
Build SQLite samples: yes
$ make
$ make install
MONO-ADDINS (0.6.2)
$ ./configure --prefix=/usr/local/mono-2.10.8
$ make
$ make install
MONODEVELOP (2.8.6.5)
$ ./configure --prefix=/usr/local/mono-2.10.8
Configuration summary
* Installation prefix = /usr/local/mono-2.10.8
* C# compiler = /usr/local/mono-2.10.8/bin/dmcs
* Mono class library development extensions: yes
* Version control support: yes
* Providers:
* Subversion: yes
* Git: yes
* Platform bindings: GNOME
* Unit tests: no
$ make
$ make install
monodevelop-database-2.8.6.5
$ ./configure --prefix=/usr/local/mono-2.10.8
$ make
$ make install
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mono210
Type: application/octet-stream
Size: 519 bytes
Desc: not available
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20120501/b4777ae5/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mono210env
Type: application/octet-stream
Size: 531 bytes
Desc: not available
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20120501/b4777ae5/attachment-0003.obj>
More information about the Mono-devel-list
mailing list