Re: Howto compile mono 2.8
Note: On Meerkat
build gluezilla-2.6 required xulrunner-dev package install
build mono-tools --> error
./PrintManager.cs(28,31): error CS0234: The type or namespace name `PrintJob' does not exist in the namespace `Gnome'. Are you missing an assembly reference?
./PrintManager.cs(29,25): error CS0246: The type or namespace name `PrintDialog' could not be found. Are you missing a using directive or an assembly reference?
./PrintManager.cs(31,29): error CS0234: The type or namespace name `HTML' does not exist in the namespace `Gtk'. Are you missing an assembly reference?
./PrintManager.cs(34,31): error CS0234: The type or namespace name `PrintContext' does not exist in the namespace `Gnome'. Are you missing an assembly reference?
------------------------ look like we need to install libgtkhtml3.14-cil-dev to get pass this problem.
Re: Howto compile mono 2.8
So How do I compile mono 2.8
Is ....
apt-get update
user@system$> 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 \
libjpeg62-dev libtiff4-dev libgif-dev zlib1g-dev libatk1.0-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-applet2-dev libnautilus-burn-dev librsvg2-dev \
libgtkhtml3.14-dev libgtksourceview2.0-dev libgtksourceview-dev \
libvte-dev libwnck-dev libnspr4-dev libnss3-dev libxul-dev \
libwebkit-dev libvala-dev
A script?
where do I put Sudo?
Do I run each line individually?
Very fustrated!!!
Re: Howto compile mono 2.8
Quote:
Originally Posted by
Mrbronz
So How do I compile mono 2.8
Is ....
apt-get update
user@system$> 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 \
libjpeg62-dev libtiff4-dev libgif-dev zlib1g-dev libatk1.0-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-applet2-dev libnautilus-burn-dev librsvg2-dev \
libgtkhtml3.14-dev libgtksourceview2.0-dev libgtksourceview-dev \
libvte-dev libwnck-dev libnspr4-dev libnss3-dev libxul-dev \
libwebkit-dev libvala-dev
A script?
where do I put Sudo?
Do I run each line individually?
Very fustrated!!!
apt-get is the package manager for Debian/Ubuntu-based Linux systems. It is used to install programs from the repository (via internet). It's something like windows installer, just an awsome lot more powerful.
sudo is an abbrevation for switch user & do / super-user do.
Which in this context means run the installation as administrator.
You put sudo right before apt-get:
Code:
sudo apt-get install <packagename>
for example:
Code:
sudo apt-get install lsb-release
If you run your system as root (=with administrator account), you can omit all the sudo stuff. But the latter is a dangerous practise, especially for a novice, because you can really screw up your system, if you don't know what you're doing.
If your system doesn't recognize apt-get, then most likely you don't have a Debian/Ubuntu system. For example, Red Hat/Fedora uses yum, while OpenSuse uses Zypper, Arch Linux uses pacman, and Gentoo (the fastest of all Penguins) uses emerge.
In that case, the Pacman Rosetta-Stone might be useful:
https://wiki.archlinux.org/index.php/Pacman_Rosetta
You can check what version of Linux you have by doing:
Which on Ubuntu should answer
Quote:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
or
Quote:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
You can either install one program/library/sdk after another like this:
Code:
sudo apt-get install package1
sudo apt-get install package2
sudo apt-get install package3
sudo apt-get install package4
....
sudo apt-get install packageN
or you can just put the packages one after another, and install them all in one
Code:
sudo apt-get install package1 package2 package3 package4 ... packageN
Re: Howto compile mono 2.8
I got a build error with 'gnome-sharp-2.24.1'
This occur because Mono.GetOptions.dll is not shipped anymore.
According to this article, an error occur in building sample.
So you should remove it from Makefile..
http://go-mono.com/forums/#nabble-td2969455
Thank you for your nice article.
Re: Howto compile mono 2.8
Quote:
Originally Posted by
irondog
I got a build error with 'gnome-sharp-2.24.1'
This occur because Mono.GetOptions.dll is not shipped anymore.
According to this article, an error occur in building sample.
So you should remove it from Makefile..
http://go-mono.com/forums/#nabble-td2969455
Thank you for your nice article.
I know, I'm the one who wrote that message to the mailinglist (published on Nabble) in the first place.
in gnome-sharp-<version>/sample/gnomevfs/Makefile
Line 449 + 450 of the generated makefile in that folder
Comment out these two lines (by adding # in front)
#TestXfer.exe: $(srcdir)/TestXfer.cs $(assemblies)
# $(CSC) /out:TestXfer.exe $(references) -r:Mono.GetOptions.dll $(srcdir)/TestXfer.cs
AND
#EXTRA_TARGETS = TestXfer.exe
on line 221.
(Note: as of now, this still applies to mono 2.10.2, too.)
I thought, since I told them - and since it's the stable sources, they would have fixed it by now, but obviously...
Well, I guess, in the meantime, I wouldn't call 2.8 "stable" anyway, but they probably wait for the first mayor fix for it until they publish 2.8.1 ...
Re: Howto compile mono 2.8
If on compiling Gluezilla-2.6 you get:
Quote:
checking Mozilla XPCOM > 1.8... not found
checking Mozilla XPCOM 1.8... You need to install the Mozilla XPCOM development package.
You need to do:
Code:
apt-get install xulrunner-dev
As kids_pro already said.
Re: Howto compile mono 2.8
For mono 2.10.1, you'll have difficulties, because MonoDevelop doesn't find gtksharpglue-2
Quote:
---> System.DllNotFoundException: gtksharpglue-2
If you do
Code:
updatedb
locate gtksharpglue-2
Quote:
/usr/lib/cli/gtk-sharp-2.0/libgtksharpglue-2.so
you'll see that it is installed, but that its path is not in the library include directories, so you need to add it.
Create a new file called glib.conf in /etc/ld.so.conf.d/
Code:
gedit /etc/ld.so.conf.d/glib.conf
And fill it with the following content:
Code:
# Mono needs you
/usr/lib/cli/glib-sharp-2.0
Afterwards, you have to update the ld library paths:
Re: Howto compile mono 2.8
To get the latest MonoDevelop, do the following:
Go to:
http://monodevelop.com/Download
Switch to beta, and download the source tarball.
http://ftp.novell.com/pub/mono/sourc...2.5.90.tar.bz2
Now you still need the latest version of mono-addins (configure will complain when < 0.6)
http://ftp.novell.com/pub/mono/sourc...ns-0.6.tar.bz2
Then configure and make and make install mono-addins, then the same for MonoDevelop & Co.
http://i.imgur.com/x00zhl.jpg
Re: Howto compile mono 2.8
Quote:
Originally Posted by
WitchCraft
If on compiling Gluezilla-2.6 you get:
You need to do:
Code:
apt-get install xulrunner-dev
As kids_pro already said.
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
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