Re: Howto compile mono 2.8
Quote:
Originally Posted by
kuh3h3
your tip is wrong. because monodevelop-database configure scripy looking for xulrunner 1.8 but ubuntu natty now xulrunner 2.0.
so build failed. have to fix configure script
The tip may be wrong now, but it wasn't.
It worked perfectly fine on Maverick Meerkat.
It's just that I didn't have time to upgrade to Natty.
But you're of course right, if it wants 1.8 and you got 2.0, you have to fix the configure script.
Maybe that means that now some bugs that I recently run into with xulrunner + mono are gone.
Re: Howto compile mono 2.8
Update: I just switched to natty.
You needn't fix the configure file for gluezilla.
Just install:
Code:
apt-get install xulrunner-1.9.2-dev
and for mono-tools, you need:
Code:
apt-get install libgtkhtml3.14-cil-dev
Re: Howto compile mono 2.8
Note:
In order for monodevelop-database to be able to support MySQL, you need to have MySql.Data installed.
Code:
apt-get install libmysql6.1-cil
Re: Howto compile mono 2.8
Re: Howto compile mono 2.8
To install libgluezilla on 11.10, you first need to download xulrunner 1.9.2:
https://launchpad.net/ubuntu/oneiric...nonly-0ubuntu1
Then you can install libgluezilla from here https://launchpad.net/ubuntu/oneiric...a/2.6-2ubuntu2
Re: Howto compile mono 2.8
Tip for mono 3.0:
If you get:
error: #error "Only <glib.h> can be included directly."
when compiling GTK-Sharp, you have to alter gtk-sharp-2.12.11/glib/glue/thread.c to:
Code:
// #include <glib/gthread.h>
#include <glib.h>
In mono-debugger-2.10/sysdeps/server/breakpoints.c
comment out gthread.h
Code:
#include <server.h>
#include <breakpoints.h>
//#include <glib/gthread.h>
#include <sys/stat.h>
#include <signal.h>
These are the dependencies on 12.04:
Code:
apt-get install build-essential autoconf automake \
bison flex gtk-sharp2-gapi boo gdb valac libfontconfig1-dev \
libcairo2-dev libpango1.0-dev libfreetype6-dev libexif-dev \
apt-get install libtiff4-dev libgif-dev zlib1g-dev libatk1.0-dev libjpeg8-dev libjpeg-turbo8-dev
apt-get install libglib2.0-dev libgtk2.0-dev libglade2-dev libart-2.0-dev
apt-get install libgnomevfs2-dev libgnome-desktop-dev libgnome2-dev libgnomecanvas2-dev
apt-get install libgnomeui-dev libgnomeprint2.2-dev libgnomeprintui2.2-dev
apt-get install libpanel-applet-4-dev \
libnautilus-extension-dev (replaces libnautilus-burn-dev ???)
apt-get install librsvg2-dev
apt-get install libgtkhtml3.14-dev libgtksourceview2.0-dev libgtksourceview2.0-dev \
apt-get install libvte-dev libwnck-dev libnspr4-dev libnss3-dev
apt-get install libwebkit-dev libvala-0.18-dev
Anybody knows what happened to:
libxul-dev ???
And the new parallel scripts:
Code:
#!/bin/bash
MONO_PREFIX=/opt/mono-3.0
GNOME_PREFIX=/opt/gnome-3.0
export DYLD_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include
export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal
export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig
PATH=$MONO_PREFIX/bin:$PATH
#!/bin/bash
MONO_PREFIX=/opt/mono-3.0
GNOME_PREFIX=/opt/gnome-3.0
export DYLD_LIBRARY_FALLBACK_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_FALLBACK_PATH
export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include
export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal
export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig
export PATH=$MONO_PREFIX/bin:$PATH
PS1="[mono 3.0] \w @ "
mkdir -p /opt/mono-3.0
For Monodevelop:
Go into directory
monodevelop-3.0.4.7/tests#
if you lack the directories
Code:
UnitTestsUserInterfaceTests
MacPlatform.Tests
MonoDevelop.MacDev.Tests
then download the latest version of the monodevelop sources
If it doesn't run afterwards, it's because /usr/local/lib is not in the ld library paths.
Make sure /etc/ld.so.conf.d contains a file like mono3.conf with the following contents
Code:
# mono default configuration
/usr/local/lib
I figured it should already have this in the library path, because there is a file libc.conf that contains that path.
But obviously, the paths aren't updated, so run
and there you go.
Re: Howto compile mono 2.8
Here the full dependencies for mono 3.0 in one copy-paste install
Code:
apt-get install build-essential autoconf automake \
bison flex gtk-sharp2-gapi boo gdb valac libfontconfig1-dev \
libcairo2-dev libpango1.0-dev libfreetype6-dev libexif-dev \
libtiff4-dev libgif-dev zlib1g-dev libatk1.0-dev libjpeg8-dev \
libjpeg-turbo8-dev libglib2.0-dev libgtk2.0-dev libglade2-dev \
libart-2.0-dev libgnomevfs2-dev libgnome-desktop-dev \
libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomeprint2.2-dev \
libgnomeprintui2.2-dev libpanel-applet-4-dev \
libnautilus-extension-dev librsvg2-dev libgtkhtml3.14-dev \
libgtksourceview2.0-dev libgtksourceview2.0-dev libvte-dev \
libwnck-dev libnspr4-dev libnss3-dev libwebkit-dev libvala-0.18-dev
Re: Howto compile mono 2.8
Note:
On mono 3, the install scripts for xsp-2.10.2 is broken.
You get a HTTP 502 always when executing a website via fastcgi-mono-server4.
With this error message in the logfiles.
Code:
[error] 3384#0: *101 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost:8000"
You need to execute this script (if you don't parallel install, use PREFIX=/usr).
All it does is copy the 3 assemblies from the 4 gac to the 4.5 gac, and adjust the startup scripts in PREFIX/bin to use PREFIX/lib/mono/4.5
Code:
#!/bin/bash
# Your mono directory
PREFIX=/opt/mono-3.0.3
FILES=('mod-mono-server4'
'fastcgi-mono-server4'
'xsp4')
cd $PREFIX/lib/mono/4.0
for file in "${FILES[@]}"
do
cp "$file.exe" ../4.5
done
cd $PREFIX/bin
for file in "${FILES[@]}"
do
sed -ie 's|mono/4.0|mono/4.5|g' $file
done
Additionally, for debugging, it is helpful to start fastcgi-mono-server-4 with debugging enabled.
Use the switches
Code:
/loglevels=Debug /printlog=true
For example:
Code:
sudo /opt/mono-3.0.3/bin/fastcgi-mono-server4 /loglevels=Debug /printlog=True /applications=/:/var/www/mono/Mvc3Template /socket=tcp:127.0.0.1:9000