installing mono 2.8.1 on amazon linux ami 1.0

1
Installing mono 2.8.1 on Amazon Linux AMI 1.0 December 26, 2010 I generally stay away from anything that's not in rpm form, because playing the configuration/build game is just such a waste of time especially when trying to come up with a repeatable recipe. Unfortunately, there's no rpm's for 2.8.x, 2.6.7 being the latest on the mono-project site. I don't have a clue about building rpm's from source and have not found a build recipe either, but if one exists, I'd be more than happy to start building and distributing current rpm's for mono, since i don't feel like building from source on every new machine and having that machine's config fall out of the management purview of yum/rpm. Goal: ASP.NET MVC2 environment The purpose of build 2.8.1 is running ASP.NET MVC2. In theory this should work under 2.6.7, but there's a couple of bugs that mean it's not quite usable for production purposes. While I develop in Visual Studio, i don't want to commit binaries to my git repo and I want the ability to make fixes with emacs on the development server. To make this work, I also include xbuild as part of the recipe, since it lets me build the Visual Studio solution. Anyway, here's the chronicle of my install. This is less of an article than a log of what I did to get mono 2.8.1 installed from source on a fresh Amazon Linux AMI 1.0, so it may include things you don't need that were dead-ends i went down. I started by looking at Nathan Bridgewater's Ubuntu & Fedora recipe . Pre-requisites yum install gcc gcc-c++ httpd httpd-devel bison gettext autoconf automake libtool libtiff-devel glib2 glib2-devel freetype fontconfig fontconfig-devel libpng-devel libexif-devel libX11-devel giflib-devel libjpeg-devel Setup cd /tmp mkdir mono-2.8.1 cd mono 2.8.1 wget http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.8.1.tar.bz2 wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.8.tar.bz2 wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.8.1.tar.bz2 wget http://ftp.novell.com/pub/mono/sources/libgdiplus/libgdiplus-2.8.1.tar.bz2 tar jxf libgdiplus-2.8.1.tar.bz2 tar jxf mod_mono-2.8.tar.bz2 tar jxf mono-2.8.1.tar.bz2 tar jxf xsp-2.8.1.tar.bz2 Building mono 2.8.1 cd libgdiplus-2.8.1 ./configure --prefix=/opt/mono-2.8.1 (30s) make make install cd .. cd mono-2.8.1 ./configure --prefix=/opt/mono-2.8.1 (2m) make make install cd .. In order to build xsp, we need to configure the environment to find mono: export PATH=$PATH:/opt/mono-2.8.1/bin export PKG_CONFIG_PATH=/opt/mono-2.8.1/lib/pkgconfig/:$PKG_CONFIG_PATH The above export is just affects the current session. But also needs to be set up as part of the profile: cat >>/etc/profile.d/mono_path.sh export PATH=$PATH:/opt/mono-2.8.1/bin export PKG_CONFIG_PATH=/opt/mono-2.8.1/lib/pkgconfig/:$PKG_CONFIG_PATH Now we can build xsp and finally mod_mono: cd xsp-2.8.1 ./configure --prefix=/opt/mono-2.8.1 make make install cd .. cd mod_mono-2.8 ./configure --prefix=/opt/mono-2.8.1 make make install That took a while I did this build on an Amazon EC2 micro instance, and it took 3 hours. So might be worth attaching the EBS to a EC2 High CPU instance building it there and then re-attaching it to a micro. But you can see why I prefer rpm's. Sure i can zip up the build directories and run make install on another identical machine, but the make install on the micro instance for mono took 20 minutes. Compare that to the 2.6.7 rpm install, which took me 42 seconds including downloading via yum from novell.

Upload: fabio-matos

Post on 04-Mar-2015

19 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Installing Mono 2.8.1 on Amazon Linux AMI 1.0

Installing mono 2.8.1 on Amazon Linux AMI 1.0

December 26, 2010

I generally stay away from anything that's not in rpm form, because playing the configuration/build game is just such a waste of time especially when trying to come up with a repeatable recipe. Unfortunately, there's no rpm's for 2.8.x, 2.6.7 being the latest on the mono-project site.

I don't have a clue about building rpm's from source and have not found a build recipe either, but if one exists, I'd be more than happy to start building and distributing current rpm's for mono, since i don't feel like building from source on every new machine and having that machine's config fall out of the management purview of yum/rpm.

Goal: ASP.NET MVC2 environment

The purpose of build 2.8.1 is running ASP.NET MVC2. In theory this should work under 2.6.7, but there's a couple of bugs that mean it's not quite usable for production purposes. While I develop in Visual Studio, i don't want to commit binaries to my git repo and I want the ability to make fixes with emacs on the development server. To make this work, I also include xbuild as part of the recipe, since it lets me build the Visual Studio solution.

Anyway, here's the chronicle of my install. This is less of an article than a log of what I did to get mono 2.8.1 installed from source on a fresh Amazon Linux AMI 1.0, so it may include things you don't need that were dead-ends i went down. I started by looking at Nathan Bridgewater's Ubuntu & Fedora recipe.

Pre-requisites

yum install gcc gcc-c++ httpd httpd-devel bison gettext autoconf automake libtool libtiff-devel

glib2 glib2-devel freetype fontconfig fontconfig-devel libpng-devel libexif-devel

libX11-devel giflib-devel libjpeg-devel

Setup

cd /tmp

mkdir mono-2.8.1

cd mono 2.8.1

wget http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.8.1.tar.bz2

wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.8.tar.bz2

wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.8.1.tar.bz2

wget http://ftp.novell.com/pub/mono/sources/libgdiplus/libgdiplus-2.8.1.tar.bz2

tar jxf libgdiplus-2.8.1.tar.bz2

tar jxf mod_mono-2.8.tar.bz2

tar jxf mono-2.8.1.tar.bz2

tar jxf xsp-2.8.1.tar.bz2

Building mono 2.8.1

cd libgdiplus-2.8.1

./configure --prefix=/opt/mono-2.8.1 (30s)

make

make install

cd ..

cd mono-2.8.1

./configure --prefix=/opt/mono-2.8.1 (2m)

make

make install

cd ..

In order to build xsp, we need to configure the environment to find mono:

export PATH=$PATH:/opt/mono-2.8.1/bin

export PKG_CONFIG_PATH=/opt/mono-2.8.1/lib/pkgconfig/:$PKG_CONFIG_PATH

The above export is just affects the current session. But also needs to be set up as part of the profile:

cat >>/etc/profile.d/mono_path.sh

export PATH=$PATH:/opt/mono-2.8.1/bin

export PKG_CONFIG_PATH=/opt/mono-2.8.1/lib/pkgconfig/:$PKG_CONFIG_PATH

Now we can build xsp and finally mod_mono:

cd xsp-2.8.1

./configure --prefix=/opt/mono-2.8.1

make

make install

cd ..

cd mod_mono-2.8

./configure --prefix=/opt/mono-2.8.1

make

make install

That took a while

I did this build on an Amazon EC2 micro instance, and it took 3 hours. So might be worth attaching the EBS to a EC2 High CPU instance building it there and then re-attaching it to a micro. But you can see why I prefer rpm's. Sure i can zip up the build directories and run make install on another identical machine, but the make install on the micro instance for mono took 20 minutes. Compare that to the 2.6.7 rpm install, which took me 42 seconds including downloading via yum from novell.